'session이용하여 정보 유지하기'에 해당되는 글 1건

  1. 2012.04.27 2012-4-27 session이용하여 정보 유지하기

 

* HttpSession을 이용한 Session관리

- 클라이언트의 상태값을 서버측에 저장하여 Session관리
- javax.servlet.http.HttpSession 객체를 이용하여 관리한다.
   - 클라이언트의 상태값은 Attribute로 관리됨

- 장점
   - 관리할 수 있는 상태값(클라이언트 데이터)의 종류나 크기나 개수의 제한이 없다.
   - 서버에 저장되므로 cookie에 비해 보안상 유리

- 단점
   - 서버에 부담

- HttpSession 객체 생성
   - HttpServletRequest객체.getSession() 
      - 기존 Session이 있으면 기존 Sesstion객체를 없으면 새로 생성하여 리턴
         (ex : 로그인시 세션정보를 얻어옴)
   - HttpServletRequest객체.getSession(false) - jsp와 연동하면 의미가 없어진다.
      - 기존 Session이 있으면 기존 Session객체를, 없으면 null을 return

→ But, Servlet과 jsp를 같이 사용하는 코드에서는 두 가지를 비교할 의미가 없다. (오직 Servlet만 사용할때 사용)

- HttpSession 객체의 주요 메소드
   - setAttribute(String name, Object value);
   - getAttribute(String name) : Object value
   - removeAttribute(String name)
   - getAttributeNames() : Enumeration
   - invalidate() : session객체를 소멸 시킨다. (로그아웃시 사용)
   - setMaxInactiveInterval(int 초) : 클라이언트가 마지막 요청을 한 뒤 인수로 받은 시간 만큼 지나도 요청이 안들어 오면 session을 소멸 시킨다. (활동하지 않은 간격의 최대치를 얻어온다.클라이언트가 마지막 요청을 한 뒤에 int초 만큼 시간이 지나도 들어오지 않으면 session을 소멸시킨다.)
   - getId() : String - jSessionId 값 return 
     (session객체에 있는 id값을 조회 할 수 있다.)

 

Posted by 조은성
,