-HttpSession을 이용한 Session관리
-클라이언트의 상태값을 서버측에 저장하여 Session관리
-javax.servlet.httpSession 객체를 이용하여 관리한다.
-클라이언트의 상태값은 Attribute로 관리됨
-장점
-관리할 수 있는 상태값(클라이언트 데이터)의 종류나 크키나 개수의 제한이 없다.
-서버에 저장되므로 cookie에 비해 보안상 유리
-단점
-서버에 부담을 준다
-HttpSession 객체 생성
-HttpServletRequest객체.getSessioin()
-기존 Session이 있으면 기존 Sessioin객체를, 없으면 새로 생성하여 리턴
-HttpServletRequest객체.getSession(false)
-기존 Session이 있으면 기존 Sessioin객체를, 없으면 null을 return
- JSP와 Servlet을 같이 쓰면 이걸 쓸 경우는 거의 없다.
-HttpSession 객체의 주요 메소드
-setAttribute(String name, Object Value);
-getAttribute(String name) : Object value
-removeAttribute(String name)
-getAttributeNames() : Enumeration
-invalidate() : session 객체를 소멸시킨다 -로그아웃할때 이용한다.
-setmaxInactiveInterval(int 초) : 클라이언트가 마지막 요청을 한 뒤 인수로 받은 시간만큼 지나도 요청이 안들어 오면 session을 소멸시킨다. (자동로그아웃)
-getId() : String - jsessionID값 리턴
<HttpSession 예제 만들기>
개요
- Write_form.html을 이용하여 텍스트박스를 만든뒤 아무 String값을 넣었을떄 저장한다.
- 저장한 String 값을 ShowServlet을 이용하여 출력해준다.
- 저장된 String 값을 RemoveServlet을 이용하여 제거한다.
package : servlet.session
name : WriteServlet - /session_write
ShowServlet - /session_show
RemoveServlet - /session_remove
- html
WebContent
폴더 : session
이름 : write_form.html
[WriteServlet.java]
[ ShowServlet]
[RemoveServlet]
[write_form.html]
결과 화면
1. Write_form.html을 실행하여 아무 단어나 쳐본다.
2. 현재까지 입력된 값과 jSessionID가 출력되면 성공한것이다.
3. RemoveServlet을 실행하였을 경우 모든 List가 사라지기 때문에 <입력한 글 보기>를 선택해봤자 아까 list가 null값이면 write_form.html로 리다이렉트 설정을 해줬기 때문에 write_form.html로 이동하게 된다.