📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법
Servlet&Jsp | 2019. 8. 1. 11:18

[서블릿/JSP] Tomcat 재시작시 세션 유지/제거 설정하기

톰캣(Tomcat) 재시작시 세션 유지/제거 설정하기

세션은 브라우저 단위로 생성되는 클라이언트 상태 유지 객체입니다. 세션은 사용자의 브라우저가 종료되거나 HttpSession#invalidate()가 호출되었을 때 마지막으로 설정된 timeout에 의해 세션이 만료되었을 때 제거됩니다.

그렇다면 톰캣 즉 서버가 종료된 경우에는 어떨까요? 톰캣의 경우 기본적으로 org.apache.catalina.session.StandardManager 라는 세션매니저를 통해서 세션이 관리됩니다. 그런데 이녀석은 톰캣이 종료될 때 살아있는 세션을 임시저장소(디스크)에 SESSIONS.ser 이라는 파일로 저장해두고 재시작될 때 이 파일을 읽어 세션을 다시 살려버립니다. 만약 톰캣이 종료될 때 가지고 있던 세션을 모두 제거하려는 경우 설정을 해주어야 합니다.

SESSIONS.ser이 저장되는 경로는 <Host> 또는 <Context>workDir 속성으로 지정한 디렉터리인데 기본적으로는 $CATALINA_HOME/work 하위의 웹 어플리케이션 경로에 있습니다.

세션 저장 설정 비활성화

톰캣이 설치된 디렉터리인 $CATALINA_HOME/conf/context.xml 파일을 텍스트 편집기로 열어줍니다.

context.xml의 내용 중 주석 처리 되어 있는 <Manager pathname=""> 부분의 주석을 해제하고 저장하면 세션 저장기능이 비활성화됩니다. 내용이 아예 없다면 직접 태그를 작성해주세요.

도로락

도로락

Writer

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그