본문 바로가기

개발/Java

[Spring] Session Timeout 설정 3가지 방법

반응형

0. 개요

 

 - 개발을 하다보면 Session Timeout을 바꾸고 싶은 욕망이 생기거나 바꿔야하는 일이 생길 때가 있다. 이를 설정하는 방법은 크게 3가지가 있는데 그에 대한 우선순위와 그 방법에 대해서 알아보려고 한다

 

1. Java 소스로 설정하는 방법 (높은 우선 순위)

 

 - 로그인 이후 Session에 사용자 정보를 담는 아래와 같은 부분이 있을 것이다 (request만 있다면 꼭 이 부분이 아니어도 괜찮다)

 - javax.servlet.http.HttpSession 클래스에 있는 setMaxInactiveInterval 메소드를 사용한다

 

 HttpSession session = request.getSession();
 session.setAttribute("UserVO", userVO);
 session.setMaxInactiveInterval(60);	//세션 시간 설정 (초)

 

 - Java 소스에서 세션 시간을 설정하기 위한 setMaxInactiveInterval의 설명을 보면 설정한 파라미터 값은 초 단위로 입력이 가능하다. 그리고 0을 넣으면 세션이 종료되고 -1을 넣으면 세션이 영원히 유지된다고 한다

 

Specifies the time, in seconds, between client requests before the servlet container will invalidate this session. An interval value of zero or less indicates that the session should never timeout.
반응형

 

2. 프로젝트 내 WEB-INF/web.xml (중간 우선 순위)

 

- Java 소스로 설정할 때의 단위는 초 단위 였으나 여기에선 분 단위이다

 

<session-config>
	<session-timeout>60</session-timeout>
</session-config>

 

3. Tomcat 등 WAS 서버 내 conf/web.xml (낮은 우선 순위)

 

 - 마찬가지로 단위는 분

 

<session-config>
	<session-timeout>60</session-timeout>
</session-config>

 

 

이상이다

반응형