본문 바로가기

프로그래밍/JSP

[JSP 요약 정리] 11. 세션(Session)

11. 세션(Session)

1) 세션(Session)

- 웹 컨테이너에 정보를 보관할 때 사용(오직 서버에만 생성)

- 한 웹 브라우저마다 한 세션을 생성한다.

- 세션은 지정한 유효시간만큼만 유지(실행 중 지속 사용되는 데이터의 저장소로 적합)


2) 세션 생성

- page 디렉티브의 session 속성을 true로 지정

- 사용

<%@ page session = "true" %>

<% session.setAttribute("키", 값);


3) session 기본 객체

- page 디렉티브를 통해 세션 속성 지정을 통해 session 객체를 얻을 수 있음

- 쿠키를 이용해서 세션ID를 공유

- session 객체의 메소드

String getId() : 세션 고유의 ID를 반환

long getCreationTime() : 세션이 생성된 시간을 반환(Unix time)

long getLastAccessedTime() : 웹 브라우저가 마지막에 세션에 접근한 시간 반환


4) 세션 종료

- 세션을 유지할 필요가 없으면 session.invalidate() 메소드를 사용해서 세션 종료


5) 세션 유효 시간

- session은 최근 접속 시간을 저장, session 기본 객체를 사용할 때 마다 갱신

- session.getLastAccessedTime() 메소드는 최근 접근 시간 반환

- 유효 시간 지정 방법

// web.xml에 지정

<session-config>

<session-timeout>시간</session-timeout> // 분 단위

</session-config>


// setMaxInactiveInterval() 메소드로 지정

<% session.setMaxInactiveInterval(시간); %> // 초 단위



6) request.getSession() 메소드

- 세션 객체를 반환하는 메소드

- 매개변수에 false 입력시 세션이 존재하는 경우에만 객체 리턴