Web Dev/JSP

JSP 9강 :: 세션, 세션 내장 객체

HJPlumtree 2022. 10. 24. 18:36

JSP에서 기억하 싶은 내용

 

 

세션이란?

세션도 클라이언트 상태 관리를 위한 기법

클라이언트가 특정 작업 수행하는 기간

여러 페이지 돌아다닐 동안 클라이언트의 상태 관리를 위한 것

 

 

세션의 관리

서버는 웹 브라우저(클라이언트) 별로 1개의 세션 ID 부여

웹 브라우저 종료시 세션 종료

유효 시간 경과시 기존 세션 종료

최초 요정시 세션 아이디를 쿠키로 포함해서 웹 브라우저에 전송

이후 자신의 세션 아이디를 웹 컨테이너에 전송, 이걸 가지고 사용자 식별

 

 

쿠키랑 세션이 뭐가 다른가?

  • 쿠키는 클라이언트에 저장, 세션은 서버에 저장
  • 쿠키는 텍스트 파일로 저장, 세션은 객체 형태로 저장
  • 쿠키는 크기에 제한이 있고, 세션은 크기 제한이 없다
  • 쿠키는 상대적으로 보안이 약하고, 세션은 서버에 저장되서 상대적 보완 유리

 

 

세션 내장 객체

true가 기본값, 그래서 최초 Tomcat이 세션 자동으로 만들어준다

<%@ page session="true" %>

 

여러 JSP 페이지는 같은 session 객체가 공유된다

 

내장객체 속성 저장

<%
  session.setAttribute("name", "santa")
  session.setAttribute("address", "North pole")
%>

 

세션 삭제

세션 무효화 시키는 것

<%
  session.invalidate()
  session.removeAttribute("santa")
%>

유효시간 초과되어도 삭제된다

 

세션의 유효시간

클라이언트가 서버에 추가 요청을 하지 않고도 세션을 유지할 수 있는 시간

 

세션 유효시간 30분 주기

<%
  session.setMaxInactiveInterval(60 * 30)
%>