最近开发了一套系统(假设叫做APP1),需要与部署在同一tomcat中的另一套系统(假设叫做APP2)集成,需要解决共享session的问题。网上找了一些资料,但都比较繁琐。最后想到一种方法,利用共享Context的方式,将APP1的登录信息存入APP1上下文属性中,在APP2中取得APP1的session,这样就可以实现共享了。操作步骤如下:
1、 需要设置%CATALINA_HOME%/conf/context.xml文件,在Context元素中增加属性crossContext=”true”,表示允许context共享。
2、 在APP1中,将session存入context属性:
config.getServletContext().setAttribute(“app1Session”,session);
3、 在APP2中,取得APP1的session:
HttpSession app1Session = config.getServletContext().getContext(“/App1”).getAttribute(“app1Session”);