ASP 프로 그래 밍 입문 진급(7):내장 대상 서버

서버 대상 은 서버 의 방법 과 속성 에 대한 접근 을 제공 합 니 다.대부분의 방법 과 속성 은 유 틸 리 티 프로그램의 기능 서비스 입 니 다.(IIS HELP 번역)서버 대상 이 있 으 면 서버 에서 ActiveX 대상 루틴 을 시작 하고 Active Server 서 비 스 를 사용 하여 HTML 과 URL 인 코딩 같은 함 수 를 제공 할 수 있 습 니 다.1.Script.script Timeout 은 스 크 립 트 가 일정 시간 이상 실 행 된 후에 시간 초과 처 리 를 합 니 다.서버 의 일반적인 기본 스 크 립 트 실행 시간 은 90 초 입 니 다.'인터넷 정보 서비스'에서'기본 웹 사이트'의 속성 팝 업 상자 에서 볼 수 있 습 니 다.스스로 설정 할 수도 있 습 니 다.하하,위 에 있 는 건 아니 야,900 초 야."홈 디 렉 터 리"탭 의"설정"대화 상자 에서 WINXP 와 같 을 것 입 니 다.스 크 립 트 실행 시간 을 이해 하기 전에 프로그램 을 먼저 보 세 요.주요 기능 은 웹 페이지 실행 시간 을 계산 하 는 것 입 니 다.
startime=timer()
//이하 홈 페이지 내용
for i= 1 to 5000 step 20
document.write("
")
next
//종료 시간
endtime=timer()
document.write("페이지 실행 시간:"&FormatNumber((endtime-startime)*1000,3)&"밀리초")

[Ctrl+A 모두 선택 하여 복사 알림:일부 코드 를 수정 한 다음 실행 을 클릭 합 니 다]물론 대응 하 는 ASP 는 많은 사이트 에 있 는 페이지 의 실행 시간 표시 1,time.asp 를 볼 수 있 습 니 다.
<%startime=timer()%>아래 에서 실행 시간 을 보 세 요<%for i=1 to 5000 response.write("hr width="&int(500+i)&">)next%>물론 중간 에 다른 내용 을 추가 할 수 있 습 니 다.
<%endtime=timer()%><%=FormatNumber((endtime-startime)*1000,3)%>밀리초 면 위의 프로그램 이 for i=1 to 5000000 하하,기계 가 빨리 반응 하지 못 하 는 느낌 이 라면 이것 이 스 크 립 트 의 실행 시간 입 니 다.프로그램 이 잘 실 행 될 수 있 도록 스 크 립 트 를 오래 실행 해 야 합 니 다.어떻게 길 게 해요?기본 값 을 고 쳐?허허,물론 아니 지:)
<%Server.script Timeout=110%>시간의 설정 은 물론 기본 90 초 보다 크 면 현재 코드 는 서버 처리 스 크 립 트 가 110 초 후에 시간 을 초과 하 는 것 입 니 다.그리고 스 크 립 트 시간의 확정 은 자신의 프로그램 을 봐 야 합 니 다.일반적인 상황 은 100 초 정도 차이 가 나 지 않 습 니 다.실행 할 수 있어 도 웹 페이지 를 보 는 사람들 은 이미 그것 을 갈 라 놓 았 을 것 입 니 다.이상 의 ScriptTimeout 은 서버 대상 의 유일한 속성 입 니 다.서버.HtmlEncodeHtmlEncode 는 서버 대상 의 한 방법 입 니 다.특정한 문자열 에 HTML 인 코딩 을 할 수 있 습 니 다.HTML 은 대부분의 ASP 파일 에 기 록 된 텍스트 를 표시 할 수 있 지만 HTML 태그 에 사 용 된 문 자 를 실제로 포함 해 야 할 때 문제 가 발생 할 수 있 습 니 다.브 라 우 저가 이런 문자열 을 읽 을 때 설명 을 시도 하기 때문이다.아니면 프로그램 을 보 시 겠 습 니까?페이지 에" "를 표시 하고 싶 습 니 다.이러한 코드(첨부: 빈 칸 코드 입 니 다)그러면 제 가 글 을 쓸 때 브 라 우 저가 설명 해 주 었 다 는 것 을 알 게 될 것 입 니 다.빈 칸 의 코드 는: 

너 는 위의 코드 가 모두 실행 되 었 다 는 것 을 알 게 될 것 이다.
[Ctrl+A 모두 선택 하여 복사 알림:일부 코드 를 수정 하고 실행 을 클릭 할 수 있 습 니 다]따라서 일부 특수 코드 가 표 시 될 수 있 도록 이 방법 을 사용 합 니 다.2,htmlencode.asp
<%Response.write("HTML 엔 코드 방법 을 사용 하지 않 은 테스트 입 니 다.
여기 다른 줄 로 코드 가 실행 되 었 음 을 설명 합 니 다.nbsp;")%>
<%Response.write Server.HtmlEncode("이것 은 HTMLEncode 방법 에 대한 테스트 입 니 다.
여 기 는 다른 줄 이 없 을 것 입 니 다.즉,코드 가 실행 되 지 않 았 다 는 것 입 니 다.nbsp;")%>이것 은 많은 사이트,포럼 에 존재 하 는 버그 입 니 다.믿 지 않 으 면 각 포럼 에 가서 시도 해 보 세 요.입력 바로 없습니다.급 해 죽 겠 습 니 다.)물론 HtmlEncode 는 그 중의 한 원인 일 뿐 입 니 다.가장 중요 한 것 은 UBB 코드 의 전환 입 니 다.하지만 이 점 에 대해 서 는 나 도 이미 테스트 를 통 해 해결 했다.디 버 깅 주소 참조http://www.cnbruce.com/juven/showart.asp물론 고전 포럼 에는 이런 문제 가 존재 하지 않 습 니 다.그렇지 않 으 면 효 과 를 보지 못 할 것 입 니 다.3.Server.UrlEncode 는 HtmlEncode 방법 으로 고객 이 받 아들 일 수 있 는 HTML 형식 으로 문자열 을 번역 할 수 있 도록 하 는 것 처럼 Server 대상 의 UrlEncode 방법 은 URL 규칙 에 따라 문자열 을 정확하게 인 코딩 하 는 것 입 니 다.문자열 데이터 가 URL 형식 으로 서버 에 전 달 될 때 문자열 에 빈 칸 이 나타 나 거나 특수 문자 가 나타 나 는 것 을 허용 하지 않 습 니 다.이 를 위해 문자열 을 보 내기 전에 URL 인 코딩 을 하려 면 Server.URLEncode 방법 을 사용 하 십시오.편 의 를 위해 서,우 리 는 먼저 배달 을 처리 한 후에 받 아들 이 는 효 과 를 처리한다.3,urlencode.asp
<%filepath=request.servervariables("script_name")%>URL 의 값 을 받 아들 입 니 다(받 아들 일 값 을 처리 하지 않 았 습 니 다.값 이 해 석 된 것 을 발 견 했 습 니 다):<%=request.query string("cnbruce")%>
"< 를 입력 할 수 있 습 니 다.hr< 등 코드 보기:
은 URL 의 값 을 받 아들 입 니 다(urlencode 인 코딩 을 했 으 며 실행 되 지 않 습 니 다):<%=Server.URLEncode(request.query string("cnbruce")%>는 물론 실행 되 지 않 지만"<"가"%3C"가 되 고">"%3E"가 되 는 것 을 발견 할 수 있 습 니 다.그럼 발송 전에 처리 하지 않 았 기 때 문 입 니 다.그러나 우 리 는 Replace 함 수 를 통 해 이 특수 코드 들 을 다시 역전 시 킬 수 있다.4,vurlencode.asp
<%function tihuan(what)tihuan=whatif not isnull(what) thentihuan=replace(tihuan,"%3C","<")tihuan=replace(tihuan,"%3D","=")tihuan=replace(tihuan,"%3E",">")tihuan=replace(tihuan,"%26","&")tihuan=replace(tihuan,"%20"," ")tihuan=replace(tihuan,"%3B",";")tihuan=replace(tihuan,"%22",""")tihuan=replace(tihuan,"%2B","+")tihuan=replace(tihuan,"%2F","/")end ifend function%><%filepath=request.servervariables("script_name")%>URL 의 값 을 받 아들 입 니 다(받 아들 일 값 을 처리 하지 않 았 습 니 다.값 이 해 석 된 것 을 발 견 했 습 니 다):<%=request.query string("cnbruce")%>
"< 를 입력 할 수 있 습 니 다.hr< 등 코드 보기:
URL 의 값 을 받 아들 입 니 다(urlencode 인 코딩 을 했 습 니 다.실행 하지 않 습 니 다):<%=tihuan(Server.URLEncode(request.query string("cnbruce")%>하하,사실 위 에서 제 가 한 것 은 쓸모없는 일 입 니 다.정말 보 내기 전에 처리 해 야 합 니 다.그러나 이 방법 을 배 우 는 예 를 들 어 좋 은 방법 이다.)4.Server.MapPath 는 내 가 쓴'DW2ASP 시리즈'를 본 친구 들 이 모두 여기에 걸 렸 다 고 믿는다.DW 는 입문 하기 좋 은 물건 이지 만 ASP 프로 그래 밍 을 체계적으로 배 우려 면 이것 에 대해 잘 알 아야 한다.MapPath 방법 은 구체 적 으로 지정 한 상대 적 또는 가상 경 로 를 서버 에 해당 하 는 물리 디 렉 터 리 에 투사 하 는 것 입 니 다.용법,즉 문법 입 니 다.다음 과 같 습 니 다.
Server.MapPath(Path)Path 는 물리 디 렉 터 리 의 상대 적 또는 가상 경 로 를 지정 합 니 다.Path 가 정 슬 래 쉬(/)또는 역 슬 래 쉬(\)로 시작 하면 MapPath 방법 이 경 로 를 되 돌 릴 때 Path 를 완전한 가상 경로 로 간주 합 니 다.Path 가 슬 래 쉬 로 시작 하지 않 으 면 MapPath 방법 은 이 파일 에 있 는 경로 와 상대 적 인 경 로 를 되 돌려 줍 니 다.여기 서 주의해 야 할 것 은 MapPath 방법 이 되 돌아 오 는 경로 가 정확 하거나 서버 에 존재 하 는 지 확인 하지 않 는 것 이다.물론 Request.server Variables 와 연결 해서 사용 해 볼 수 있 습 니 다.5,mappath.asp
Request.ServerVariables("APPL_PHYSICAL_PATH") : <%=Request.ServerVariables("APPL_PHYSICAL_PATH")%>

Request.ServerVariables("PATH_INFO") : <%=Request.ServerVariables("PATH_INFO")%>

Request.ServerVariables("SCRIPT_NAME") : <%=Request.ServerVariables("SCRIPT_NAME")%>

Request.ServerVariables("URL") : <%=Request.ServerVariables("URL")%>

Request.ServerVariables("PATH_TRANSLATED") : <%=Request.ServerVariables("PATH_TRANSLATED")%>


위 는 모두 ServerVariables 를 통 해 추출 한 값 입 니 다.다음은 mapath 를 사용 하여 가상 주 소 를 실제 물리 적 주소 로 바 꿉 니 다.

Server.MapPath(Request.server Variables("URL"):<%=Server.MapPath(Request.server Variables("URL")%>p>또는 존재 하지 않 는 경 로 를 마음대로 쓰 거나,

Server.MapPath("cnbruce.asp"):<%=Server.MapPath("cnbruce.asp")%>

"/"의

서버.MapPath("/cnbruce.asp"):<%=Server.MapPath("/cnbruce.asp")%><
Server.MapPath("\\cnbruce.asp")%>
Server.MapPath("\\cnbruce.asp"):<%=Server.MapPath("\\cnbruce.asp")%>>

>주소 가 바 뀐 주 소 를 찾 을 수 있 습 니 다.

>주소 가 바 뀌 었 습 니 다.주소 가 바 뀌 었 습 니 다.주소 가 바 뀌 었 습 니 다.<<http://www.cnbruce.com/server.asp를 테스트 할 때 테스트 주소 와 루트 디 렉 터 리 의 주 소 를 주의 하 십시오.같은 폴 더(이것 이 가상 호스트),6to 23 같은 것 은 같 지 않 습 니 다.이 점 을 알 고 있 습 니 다.경로 에 대한 처리 가 많이 좋아 질 것 입 니 다.다시 제 사이트 로 돌아 가 데이터베이스 의 mappath 경로 에 대한 처리 방법 을 보 세 요.또 하나의 이해 차원 이 라 고 믿 습 니 다.데이터베이스 의 mappath 경 로 를 처리 하 는 방법 은http://www.cnbruce.com/blog/showlog.asp?cat_id=27&log_id=2415,Server.Creat ObjectServer.Create Object 입 니 다.이 방법 은 아마도 ASP 에서 가장 실 용적 이 고 강력 한 기능 일 것 입 니 다.서버 에 등 록 된 ActiveX 구성 요소 인 스 턴 스 를 만 드 는 데 사용 할 수 있 습 니 다.이것 은 매우 중요 한 특성 입 니 다.ActiveX 구성 요 소 를 사용 하면 ActiveX 의 능력 을 쉽게 확장 할 수 있 기 때 문 입 니 다.바로 ActiveX 구성 요 소 를 사 용 했 기 때문에 중요 한 기능 을 실현 할 수 있 습 니 다.예 를 들 어 데이터 베이스 연결,파일 접근,광고 디 스 플레이 와 다른 VBScript 가 제공 하지 못 하거나 ActiveX 를 단독으로 사용 하여 완성 할 수 있 는 기능 에 간단하게 의존 하지 못 합 니 다.바로 이 구성 요소 들 때문에 ASP 는 강력 한 생명력 을 가지 게 되 었 다.하하,하지만 우리 가 데이터 베 이 스 를 연결 하 는 것 에 대해 이야기 하지 않 기 전에 이것 은 먼저 비어 있 습 니 다."잘 해 야 합 니 다.도착 합 니 다.":)우리 가 데이터 베 이 스 를 연결 하 는 것 을 접 했 을 때 다시 이야기 하 는 것 이 늦 지 않 습 니 다.네,그럼 오늘 은 주로 서버 대상 을 배 웠 습 니 다.모든 것 이 유용 하고 중요 한 것 같 습 니 다.그리고 설명 이 필요 합 니 다.만약 에 이 곳 에서 전재 하면 원본 과 오류 가 있 습 니 다.예 를 들 어 코드 &<,< 등 은 근본적으로 실 행 된 것 이다.사이트 에 이러한 문제 가 존재 한 다 는 것 을 설명 합 니 다.

좋은 웹페이지 즐겨찾기