关于Tomcat同源跨项目中session共享问题

原创 2016年08月30日 22:47:02

关于Tomcat同源跨项目中session共享问题

前言:本人Java后台开发者,工作中遇到session共享的问题,查完资料解决问题后总结一下,方便日后工作。

  • 首先条件是同源,在此基础上不同的项目之间session共享
  • 简而言之就是projectB需要有使用projectB的session,登录信息,用户信息之类

第一步,修改tomcat中conf目录下的serve.xml文件

  • 修改前:<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" mlValidation="false">
    </Host>

  • 修改后:<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" mlValidation="false">
    <Context path="/grass" reloadable="true" crossContext="true"></Context>
    <Context path="/webapp" reloadable="true" crossContext="true"></Context>
    </Host>

第二步,将所需共享的session存放至application中

  • 在projectA中设置,这是在java类方法中使用session的例子,jsp直接调用:request.getSession().setAttribute("uid", userinfo.get("UID"));
    request.getSession().setAttribute("phone", phone);
    request.getSession().getServletContext().setAttribute("session", request.getSession());

第三步,在projectB中使用A创建的session

  • 在projectB中获取session中的信息,这是在jsp中调用的示例代码:<%=((HttpSession)application.getContext("/grass").getAttribute("session")).getAttribute("uid") %>
    <%=((HttpSession)application.getContext("/grass").getAttribute("session")).getAttribute("phone") %>

最后

  • 希望可以帮助到有需要的同学,加油,没有调通的话可以联系我的邮箱:dongtongxue@aliyun.com

相关文章推荐

关于同一tomcat服务器下2个不同的web项目如何共享session的问题

最近,遇到了一个从未遇到的问题,就是同一tomcat下启动两个web项目,一个是业务系统,也是最主要的部分,另一个是bbs论坛项目,是项目的一个小部分,要求就是要在业务系统登录之后,点击论坛主页就能跳...
  • uk8692
  • uk8692
  • 2013年10月22日 11:02
  • 1098

同一个tomcat不同项目的session共享问题

问题描述: session常常用来存储一些公共信息供不同页面访问,比如用户登录信息。访问同一个tomcat下的不同项目所创建的session是不一样的。自然地面临了如何共享session的问题。解决...

Nginx+Redis+Tomcat实现负载均衡项目session共享

本篇文章是继前三篇文章实现的基础上完成的,如果在阅读过程中,有没安装或没实现的功能,请参考前两篇博客。 Linux系统下Nginx的安装 :讲述nginx在Linux系统下的安装工程,以及设置为自启动...

apache + tomcat + mod_jk 集群部署及Session共享 和 遇到的问题

系统  win7 64位   jdk :1.6   64位 java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6....

使用Tomcat+Redis来实现集群部署中的Session共享问题

一、工作中因为要使用到Tomcat集群部署,此时就涉及到了Session共享问题,主要有三种解决方案:1、使用数据库来存储Session2、使用Cookie来存储Session3、使用Redis来存储...

使用redis解决tomcat6在nginx负载下多节点共享session问题

使用redis共享tomcat多节点session,需要安装redis、nginx、tomcat6以及用于tomcat存储session到redis的jar包:tomcat-redis-session...

Nginx+tomcat7+memcached的session共享問題

基於上一篇負載均衡 下面我们就来解决session的问题了   这里需要将以下jar包放到tomcat的lib文件里面 注意tomcat7的jar包的memcached-session-ma...

yii项目做负载均衡时请注意验证码session共享问题

 众所周知,做负载均衡的时候,必须解决两个棘手的问题,一是session会话共享问题,二是上传文件同步问题,今天给大家分享一个我遇到过的问题,yii项目登录功能验证码无法同步的解决办法。 本文...

Tomcat 服务器配置及远程调试和不同web项目session共享方法以及设置TOMCAT的内存

tomcat环境变量配置 classpath = ./;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;%TOMCAT_HOMT%/common/...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Tomcat同源跨项目中session共享问题
举报原因:
原因补充:

(最多只允许输入30个字)