반응형
회사 프로젝트에서 같은 톰캣 컨테이너를 사용하는 war 애플리케이션 사이에 session을 공유해야 하는 경우가 있었다.
한참을 구글링하던 도중에 사용방법에 대해 알게 되었고, 나중에 사용하기 위해서 정리해보았다.
[설정방법]
1. context.xml 수정
-> 각 war에 위치한 context.xml에 crossContext와 rootPath를 적어준다.
1 2 3 4 | <Context path="/wedulPos" crossContext="true"> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> | cs |
2. tomcat의 server.xml의 Connector에 emptySessionPath 속성을 추가한다.
1 | <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" emptySessionPath="true"/> | cs |
3. 공유할 세션의 속성 지정
1 2 | // wedulPos war의 세션 속성 설정 request.getSession().getServletContext().setAttribute("id", userId); | cs |
4. 공유된 세션 속성 찾기
1 | String ssUserId = (String) request.getSession().getServletContext().getContext("/wedulPos").getAttribute("id"); | cs |
출처
반응형
'web > Spring' 카테고리의 다른 글
spring boot에서 jsp사용하기 (0) | 2018.05.27 |
---|---|
spring boot 재시작 없이 frontend(html, js..) 변경내용 사용하기 (0) | 2018.05.27 |
Spring Interceptor와 Filter에서 POST 방식으로 전달된 JSON 데이터 처리하기 (0) | 2018.05.27 |
Java Json Library Jacson Annotation 소개 (0) | 2018.05.27 |
스프링 DispatcherServlet 설정 방법 (0) | 2018.05.27 |