[Session]
방문자가 웹 서버에 접속해 있는 상태
WAS의 메모리에 Object의 형태로 저장
메모리가 허용하는 용량까지 제한없이 저장가능
[동작순서]
클라이언트가 페이지 요청
접근한 클라이언트의 쿠키를 확인하여 해당 session-id를 보냈는지 확인
session-id를 생성해 클라이언트에게 돌려줌
서버에서 클라이언트로 돌려준 session-id를 쿠키를 사용해 서버에 저장 (쿠키이름: JSESSIONID)
클라이언트 재 접속시, 이 쿠키를 이용하여 session-id값을 서버에 전달.
[특징]
웹 서버에 상태를 유지하기위한 정보를 저장
웹 서버에 저장되는 쿠키(세션쿠키)
서버에서 세션을 삭제 했을때만 삭제가 되므로, 쿠키보다 비교적 보안이 좋다.
각 클라이언트 고유 sesison id를 부여
[주요 기능]
// 생성
HttpSession session = request.getSession();
HttpSession session = request.getSession(false);
// 값 저장
session.setAttribute(String name, Object value);
// 값 얻기
Object obj = session.getAttribute(String name);
// 값 제거
session.removeAttribute(String name);// 특정 이름의 속성 제거
session.invalidate(); // binding 되어 있는 모든 속성 제거