Session 우선 순위는?

Hyunsoo Kim·2024년 6월 11일
0

스프링

목록 보기
9/13
post-thumbnail

Session 관련해 개발하면서 궁금한 점이 생겼다. Tomcat에 내장된 세션의 최대값은 90인데, 어떻게 세션 값을 그 이상으로 부여할 수 있는 거지?

보통 tomcat에 감싸서 배포할 텐데, 톰캣이 허용하는 시간 이상의 세션을 부여해 버리면 tomcat 시간이 끝날 때 자동으로 세션도 내려가는 것이 아닐까?

이 궁금증에서부터 Session의 우선 순위를 공부하게 되었다.

결론부터 말하자면 다음과 같다.


Session의 우선순위

1순위. 세션 객체에 직접 setMaxInactiveInterval(int interval) 시간을 지정한 경우

public void sessionTest(HttpServletRequest request){
	HttpSession session = request.getSession();
    session.setMaxInactiveInterval(60); //초
}

2순위. WEB-INF/web.xml 시간을 지정한 경우

<session-config>
	<!-- 분으로 지정 -->
	<session-timeout>30</session-timeout>
</session-config>

3순위. [tomcat 디렉토리]/conf/web.xml에 시간을 지정한 경우

<session-config>
	<session-timeout>90</session-timeout>
</session-config>

항상 디테일하게 설계하고 개발할수록 우선순위가 된다고 느꼈는데, 세션도 마찬가지였다.

profile
다부진 미래를 만들어가는 개발자

0개의 댓글