Application 객체
Application 객체는 서버에 저장되는 공용 변수라고 생각하면 쉬울것 같다.
컬렉션 |
설명 |
Contents |
Application 객체 정보 저장 |
StaticObjects |
<object> 태그로 작성된 Applicatio 객체 정보 저장 |
메소드 |
설명 |
Contents.Remove |
Application 객체 Contents 컬렉션 항목 삭제 |
Contents.RemoveAll |
Application 객체 Contents 컬렉션 모든 항목 삭제 |
Lock |
Application 다른 사용자가 임의로 수정 못하도록 설정 |
UnLock |
Application 다른 사용자가 객체를 수정 가능 하도록 설정 |
이벤트 |
설명 |
Application_Onstart |
서버 시작시 실행되는 이벤트 |
Application_OnEnd |
서버 종료시 실행되는 이벤트 |
다음 예제를 통해서 Application란 무엇인지 확인해보자.
Exam.asp
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<%
'만약 총카운트가 비어있는 상태라면 접속 카운트는 0
if Application("totalCounter") = "" then
Application("totalCounter") = 0
else
Application("totalCounter") = Application("totalCounter") + 1
end if
Response.Write Application("totalCounter") & "번째 방문"
%>
결과
새로고침을 누르면 방문 횟수가 1씩 증가한다.
1. Contents 컬렉션
Application 객체는 컬렉션을 사용하여 접근 가능
Exam.asp
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<% @CODEPAGE="65001" language="VBScript" %>
<%
Application("webtoon") = "노블레스"
Application("movie") = "인셉션"
Application("book") = "프로그래밍이 젤 쉬웠어요"
Application("phone") = "Iphone"
for each list in Application.Contents
Response.Write list & " : " & Application.Contents(list) & "<br>"
next
%>
결과
2. Contents.Remove 메소드, Contents.RemoveAll 메소드
삭제하고싶은 Application 선언한 객체를 하나를 삭제하거나, 여태까지 사용한 모든 Application 객체를 삭제 한다.
Exam.asp
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<% @CODEPAGE="65001" language="VBScript" %>
<%
Application("webtoon") = "노블레스"
Application("movie") = "인셉션"
Application("book") = "프로그래밍이 젤 쉬웠어요"
Application("phone") = "Iphone"
'선언한 Application 중 하나를 book을 삭제한다. 이것만 실행하면 지정한 것만 삭제되고 출력됨
Application.Contents.Remove("book")
'아래 항목을 주석을 제거할경우 모든것이 삭제되어 보여진다.
'Application.Contents.RemoveAll()
for each list in Application.Contents
Response.Write list & " : " & Application.Contents(list) & "<br>"
next
%>
결과
3. Lock, UnLock 메소드
모든 홈페이지에 들어오는 사용자가 같은 변수를 사용하기 때문에 사이트에 들어오는 모든 사람들마다 구분이 필요한 일이 있을 것이다.
문제가 생길 여부가 있는 페이지에 Lock과 UnLock을 사용하여 페이지를 관리 할수 있다.
<%
'Lock 메소드 선언
Application.Lock
'Lock 메소드 해제
Application.UnLock
%>
4. Session 객체
session 객체는 개인의 정보를 보관한다. 웹페이지에 접속하는 모든 사용자의 개개인 정보를 저장하는 역활을 한다고 보면된다.
컬렉션 |
설명 |
Contents |
Sessiont 객체 정보 저장 |
StaticObjects |
<object>태그로 작성된 session 객체 정보 저장 |
메소드 |
설명 |
Abandon |
Session 객체 삭제 후 리소스 해제 |
Contents.Remove |
Session 객체중 Contents 컬렉션 지정한 항목 삭제 |
Contents.RemoveAll |
위와 같지만 전체 컬렉션 삭제 |
속성 |
설명 |
codePage |
사용 코드 페이지 결정 |
LCID |
사용 위치 식별자 결정 |
SessionID |
Session ID 결과를 준다. |
Timeout |
Session 유지를 얼마나 할지 |
이벤트 |
설명 |
Session OnStart | 첫 웹페이지 호출시 실행 |
Session_OnEnd |
Session 종료시, 클라이언트 호출이 없을때 실행 |