Tomcat实现多个webapps共享session的解决方法

来源:互联网 发布:封装json数据 编辑:程序博客网 时间:2024/05/22 07:56

        最近开发了一套系统(假设叫做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”);