본문 바로가기

Wanna be a Programmer/Servlet & JSP

Servlet & JSP day9 - HttpSession

 

HttpSession을 이용한 Session 관리

☞ client의 상태값을 서버측에 저장하여 Session 관리

javax.servlet.http.HttpSession 객체를 이용하여 관리

◎ 클라이언트의 상태값은 Attribute로 관리됨

장점

관리할 수 있는 상태값(클라이언트 데이터)의 종류나 크기나 개수의 제한이 없다.

서버에 저장되므로 cookie에 비해 보안상 유리

단점

서버에 부담

 

HttpSession 객체 생성

HttpServeltRequest객체.getSession()

기존 Session이 있으면 기존 Session객체를, 없으면 새로 생성하여 리턴

- ex) 주로 로그인 페이지에서 사용

 

HttpServletRequest객체.getSession(false) - 중요도 낮음

기존 Session이 있으면 기존 Session객체를, 없으면 null을 리턴

- ex) 로그인을 한 유저만 사용할 수 있음

 

하나의 웹브라우저에서 servlet과 JSP를 사용하는 경우에는 두 가지의 메소드를 구분하는 것이 의미가 없다.

 

 HttpSession 객체의 주요 메소드

SetAttribute(String name, Object value);

getAttribute(String name) : Object value

removeAttribute(String name)

getAttributeNames() : Enumeration

invalidate() : session객체를 소멸 시킨다. - 로그아웃하는 경우에 필요

setMaxInactiveInterval(int 초) : 클라이언트가 마지막 요청을 한 뒤 인수로 받은 시간 만큼 지나도 요청이 안들어 오면 session을 소멸 시킨다.  

- 마지막 요청을 한지 int 초만큼 시간이 지나면 자동으로 로그아웃 된다.

getId() : String - jSessionId 값 return

 

 

WriteServlet.java

package :  servlet.session

 

ShowServlet.java

package : servelet.session

 

RemoveServlet.java

package : servlet.session

 

write_form.html

folder : session