세션의 특징
정보가 서버의 메모리에 저장되고 브라우저당 한개의 세션이 생성된다.
유효시간을 가지는데 기본적으로 30분이다.
로그인 상태 유지 기능이나 쇼핑몰의 장바구니 담기 기능 등에 주로 사용된다.
실행과정
1. 브라우저로 사이트 접속(최초 접속 시)
2. 서버는 접속한 브라우저에 대한 세션 객체를 생성
3. 서버는 생성된 세션 id를 클라이언트 브라우저에 응답으로 보냄
4. 브라우저는 서버로부터 받은 세션 id를 브라우저가 사용하는 메모리의 세션 쿠키에 저장
5. 브라우저가 재접속하면 브라우저는 세션 쿠키에 저장된 세션 id를 서버에 전달 (재 접속 시)
6. 서버는 전송된 세션 id를 이용해 해당 세션에 접근하여 작업 수행
예시
먼저 getSession() 메서드를 호출새허 생성되는 HttpSession 클래스 객체를 생성한다.
각 메소드를 이용하여 아이디, 최초 생성시간, 접근시간을 설정한다.
기본 유효시간은 getMaxInactiveInterval() 메소드를 사용하는데 기본값은 30분이다.
원하는 시간으로 변경이 가능하다. (10초로 변경해봄)
session.isNew()가 True 일 경우(최초 접속 시) 새션이 새것이라는 메세지를 보여지도록 하였다.
최초 접속시 세션이 새것이라는 메세지가 뜬다. 그 후 새로고침을 하면 세션이 새것이라는 메세지가 뜨지 않는다.
유효시간을 10초로 설정했기 때문에 10초 후 다시 새로고침을 하면 세션이 새것이라는 메세지가 다시 뜬다.
'Servlet' 카테고리의 다른 글
[자바 백엔드] Servlet (6) : Listener (0) | 2023.07.27 |
---|---|
[자바 백엔드] Servlet (5) : 필터 (Filter) (0) | 2023.07.27 |
[자바 백엔드] Servlet (3) : 쿠키 (Cookie) (0) | 2023.07.24 |
[JAVA 백엔드] Servlet (2) (0) | 2023.07.23 |
[JAVA 백엔드] Servlet (0) | 2023.07.20 |