Computer Science/etc
[ASP] 객체 모델
Bay Im
2025. 3. 22. 16:02
ASP 객체 모델
- Request
- 클라이언트가 웹서버에 전달한 정보를 검색할 때 사용되는 객체
- 예시 작업
- 클라이언트가 URL의 뒤에 추가한 정보를 저장 (GET 방식)
- 클라이언트가 FORM 태그를 이용해 전달한 정보를 저장 (GET, POST 방식)
- 클라이언트에서 전달한 쿠키 값을 저장
- 클라이언트에서 전달한 보안 코드를 저장
- 웹서버 자체에 대한 일반 정보(HTTP 서버 변수)를 저장
- Response
- 서버가 클라이언트에게 응답할 때 사용되는 객체
- 예시 작업
- 클라이언트로 전달되는 페이지에 정보를 추가
- 클라이언트에 쿠키를 만들기 위해 클라이언트의 웹브라우저에 정보를 전달
- 요청한 페이지가 아닌 전혀 다른 페이지로 이동시키는
- 페이지 생성과 동시에 정보를 전달할지, 생성된 다음 정보를 전달할지를 결정
- 페이지의 속성(HTML 헤더, 타입)들을 제어하고 변경
- Application
- 웹 어플리케이션이 시작하거나 종료할 때 지정된 특정한 작업을 수행
- Session
- 로그인과 같은 아이디 및 정보 세션 개체에 저장
- Server
- 서버 상에서 특정한 작업들을 실행하는 객체
- 예시 작업
- 페이지가 너무 오래 뜨지 않는 경우를 대비, 한계 시간을 설정
- 사용자가 전달한 문자열을 HTML 형식으로 변경
- 사용자가 전달한 문자열을 올바른 URL 문자열의 형식으로 변경
- 가상 경로(URL)를 서버 컴퓨터의 실제 경로로 변경
- 다른 페이지로 이동하여 실행 경로를 변경
- CreateObject 라는 메소드를 사용하여 컴포넌트의 인스턴스를 생성
- ObjectContext
- 트랜잭션을 시작하거나 종료할 때 사용하는 객체 (현재는 거의 사용하지 않는 객체)
- ASPError
- ASP에서 발생한 마지막 에러에 대한 정보 제공
Request 객체의 멤버 목록
- Collection
- QueryString 컬렉션
- form 태그 안에 있는 모든 HTML 컨트롤 요소들의 값을 저장하는 컬렉션 (GET 방식)
- 예시
- 주소창에 ~/test.asp?first=kim&second=dukyoung 입력시
- Request.QueryString("first") 에는 "kim" 이라는 값이 저장
- Request.QueryString("second") 에는 "dukyoung" 이라는 값이 저장
- 예시 코드
-
'Form.html <html> <body> <form Action="Result.asp" METHOD="GET"> 이름 : <INPUT TYPE="Text" NAME="name"><br> 나이 : <INPUT TYPE="Text" NAME="age"><br> <INPUT TYPE="Submit" NAME="Enter" Value="확인"> </form> </body> </html> 'Result.asp <html> <body> 이름은 <%=Request.QueryString("name")%> 이구요..<br> 나이는 <%=Request.QueryString("age")%> 입니다 </body> </html>
-
- Form 컬렉션
- form 태그 안에 있는 모든 HTML 컨트롤 요소들의 값을 저장하는 컬렉션 (POST 방식)
- 예시 코드
-
'Form.htm <html> <body> <form Action="Result.asp" METHOD="POST"> 이름 : <INPUT TYPE="Text" NAME="name"><br> 나이 : <INPUT TYPE="Text" NAME="age"><br> <INPUT TYPE="Submit" NAME="Enter" Value="확인"> </form> </body> </html> 'Result.asp <html> <body> 이름은 <%=Request.Form("name")%> 이구요..<br> 나이는 <%=Request.Form("age")%> 입니다 </body> </html>
-
- Cookies 컬렉션
- 사용자 컴퓨터에 저장된 클라이언트의 정보를 읽어오는 역할 담당
- ServerVariables 컬렉션
- 클라이언트가 서버로 값을 전달할 때 자동적으로 함께 전달되는 HTTP 헤더값들과 웹서버 자체의 몇가지 환경변수 값들을 저장
- 예시 코드
-
<TABLE BORDER> <TR> <TD><B>Server Variable</B></TD> <TD><B>Value</B></TD> </TR> <% For Each strKey In Request.ServerVariables %> <TR> <TD><%=strKey %></TD> <TD><%=Request.ServerVariables(strKey) %> </TD> </TR> <% Next %> </TABLE>
-
- ClientCertificate 컬렉션
- 클라이언트의 브라우저에서는 서버로 지정된 인증 필드들을 전송하게 되는데, 이 정보들이 저장되는 컬렉션
- QueryString 컬렉션
- 속성 Properties
- TotalBytes 속성
- 클라이언트에서 서버로 보낸 정보 안에 있는 바이트의 전체 개수에 대한 정보 제공
- ex) intCount = Request.TotalBytes
- 클라이언트에서 서버로 보낸 정보 안에 있는 바이트의 전체 개수에 대한 정보 제공
- TotalBytes 속성
- 메소드 Method
- BinaryRead(count) 메소드
- form 태그에서 POST 방식으로 전달시 count 바이트 만큼의 데이터를 읽어들이는 역할
- ex) strData = Request.BinaryRead(intCount)
- form 태그에서 POST 방식으로 전달시 count 바이트 만큼의 데이터를 읽어들이는 역할
- BinaryRead(count) 메소드
Server 객체의 멤버 목록
- 메소드 Method
- CreateObject 메소드
- 객체의 인스턴스를 만드는 메소드
- 형식
- Set 인스턴스명 = Server.CreateObject(”프로그램ID.객체명”)
- URLEncode 메소드
- URL에서 특수문자 같이 넘길 때 사용
- 예시
- <a href="movie.asp?name=movie&title=<%=Server.URLEncode(str)%>">
- CreateObject 메소드
Application 객체의 멤버 목록
- 메소드 Method
- Lock
- Application 객체의 락을 걸어 다른 사용자가 접근하지 못하도록 한다.
- 락을 건 사용자만 조절 가능
- UnLock
- 락 해제
- Lock
- 이벤트 Event
- OnStart
- 웹사이트의 어플리케이션이 시작할 때 발생
- OnEnd
- 웹사이트의 어플리케이션이 종료할 때 발생
- OnStart
728x90