1 session객체
session객체는 세션에 관련된 정보를 핸들하는 객체입니다. 웹서버와 클라이언트간의 세션 데이터를 저장하고 있는 객체죠. 그런데 세션이라는 것이 왜 필요할까요? HTTP프로토콜은 Stateless을 기본으로 합니다. ftp는 지속적인 연결설정이 되어 있는 반면 http는 순간적으로 연결하고 연결설정을 바로 끊어 버립니다. 이것을 개선하기 위해서 나온것이 session이죠. 그래서 Stateless의 극복이라고도 하죠.
2 클라이언트의 웹브라우져와 언제까지 세션이 유지될까?
클라이언트에서 하나의 jsp파일에 접근하고 그리고 jsp에서 session설정이 true로 되어 있다면 세션이 끝나는 지점은 jsp에서 세션시간설정이 끝났을 때 세션은 마무리되고 그리고 웹브라우져를 닫았다가 다시 오픈하면 즉시 세션이 사라지게 된다.
☞디폴트세션타임은 30분입니다.
3 세션의 멤버 메서드를 알아볼까요
public String getID()
세션이 한번 열리면 고유한 ID를 갖게 됩니다. 이 아이디를 얻겠다는 것이죠
public long getCreationTime()
세션이 처음 생성된 시간을 밀리 초로 계산하여 long형 정수로 리턴합니다. 기준은 70년1월1일 00시 00분 00초입니다.
public long getLastAccessedTime()
클라이언트 요청이 마지막으로 시도된 시간을 밀리초로 반환합니다.
public int getMaxInactiveInterval()
클라이언트의 요구가 없을 때 서버가 현재의 세션을 언제까지 유지할지를 정수로 리턴합니다. 이때 기본 디폴트 세션마감시간은 30분으로 지정되어 있습니다.
public void invalidate()
현재의 세션을 마감해 버립니다. 세션의 속성값들이 사라지는거죠
public boolean isNew()
서버측에서 새로운 session객체를 생성하고 아직 클라이언트에게 세션ID를 할당하지 않은 경우 true를 리턴하고 기존의 세션이 유지되고 있는 상태라면 false를 반환합니다.
public void setMaxInactiveInterval(int seconds)
세션 시간을 설정합니다. 그리고 이 시간이 지나면 당연히 세션은 마감되겠죠(밀리세컨드단위입니다)
[출처] Tech... : http://www.ezslookingaround.com/blog/tech/?no=1637&category=21
'프로그램 > Java & Jsp' 카테고리의 다른 글
DB에 저장되어 있는 글의 enter 값을 <br>태그로 변환 (0) | 2008.12.29 |
---|---|
JSP에서 session 사용법 (0) | 2008.12.29 |
StringTokenizer (0) | 2008.08.20 |
Java IO - (9) -> [ObjectInputStream] (0) | 2008.08.20 |
Java IO - (8) -> [ObjectOutputStream] (0) | 2008.08.20 |