2013. 7. 29. 13:56

session 내부 객체



   session 객체는 클라이언트 용처에 관한 context 정보의 세션과 관련된 정보(데이터)를 저장하고 관리하는 내부 객체로 

   javax.servlet.http.HttpSection 클래스 타입이다.

session 객체는 웹브라우저(클라이언트) 당 1개가 할당되며, 사용자가 로그인후 세션을 설정 일정시간이 지난 경우 다시    사용자가 인증을 요구하거나 쇼핑몰에서 장바구니 기능 구현시, 사용자가 다녀간 페이지 확인 및 웹페잊 트래킹 구현 시 

사용된다.

또한 session 객체를 사용하는데 page지시어의 session 속성 값을 false로 설정하면 에러가 발생한다.

 


* JSP는 session에 직접 접근, 서블릿은 request가 갖고 있다.


서블릿에서 session에 접근

HttpSession session = req.getSession(); //세션에 클라이언트의 정보를 저장

session.setMaxInactiveInterval(60*30); //클라이언트의 요청이 없으면 (60초*30) 후 로그아웃

session.setAttribute("userId", dto.getUserId());
session.setAttribute("userName", dto.getUserName());
resp.sendRedirect(cp);
return;


EL에서 서블릿이 전달한 session에 접근

sessionScope.속성명


   ..로그아웃 상태 시 표시할 태그



   ..로그인 상태 시 표시할 태그


로그아웃

//세션에 저장된 정보를 삭제한다.
session.removeAttribute("userId");
session.removeAttribute("userName");

//세션의 모든 정보를 삭제하고 세션을 초기화
session.invalidate();

resp.sendRedirect(cp);



■ 주요 메소드

⋅String  getId()

각 접속에 대한 세션 고유  ID 를 문자열 형태로 반환

⋅long  getCreationTime()

세션이 생성된 시간을  January  1  ,1970 GMT 부터  long 형 밀리세컨드 값으로 반환

⋅long  getLastAccessedTime()

웹 브라우저의 요청이 마지막으로 시도된 시간을  long 형 ms 값으로 반환

⋅int  getMaxInactiveInterval()

세션 유지 시간을 초로 반환. 기본 값은  30분으로 지정된다.

⋅void  setMaxInactiveInterval(int  interval)

세션을 유지할 시간을  interval에 설정된 초 값으로 설정

⋅void  invalidate()

현재 세션을 종료. 세션관련 모든 값 삭제

⋅boolean  isNew()

클라이언트 세션  ID를 할당하지 않은 경우  true 값을 리턴 한다.



'JSP > Jsp 내장객체' 카테고리의 다른 글

JSP 내장객체의 스코프  (0) 2013.08.16
HTML 문서에서 인자로 사용  (0) 2013.08.16
EL 개요  (0) 2013.08.16
Request  (0) 2013.07.29
JSP 개요  (0) 2013.07.29
Posted by 1+1은?