由于项目需要,产生了如题的需求,上网查了一些资料,自己整理并测试通过之后,把心得记录一下。
1.首先,修改Tomcat---conf----server.xml文件
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false"
xmlValidation="false"></Host> 修改为:
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
<Context path="/项目A" reloadable="false" crossContext="true"></Context>
<Context path="/项目B" reloadable="false" crossContext="true"></Context>
</Host>
这里的crossContext是关键,值要设置为true。
2.然后,在项目A中,写入以下代码:
//一下内容用于测试同一tomcat下不同项目之间共享session
servletRequest.getSession().setAttribute("base.user", user.getLoginName());
ServletContext ContextA =servletRequest.getSession().getServletContext();
ContextA.setAttribute("session", servletRequest.getSession());
//测试代码到此结束
3.在项目B中,写入以下代码取出Session
HttpSession session1 =request.getSession();
ServletContext Context = session1.getServletContext();
ServletContext Context1= Context.getContext("/base");
//System.out.println(Context1);
HttpSession session2 =(HttpSession)Context1.getAttribute("session");
//System.out.println("base传过来的user为:"+session2.getAttribute("base.user"));
以上的第三点,可以放入一个Filter中,进行过滤,这些是经过测试可用的,呵呵,大家可以试一下,这里不牵涉Tomcat集群的问题。
转自:http://lwq2010.iteye.com/blog/575018
分享到:
相关推荐
NULL 博文链接:https://rainbow702.iteye.com/blog/1312307
-- tomcat-redis-session共享配置 --> <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> <Manager className="com.orangefunction.tomcat.redissessions....
Tomcat二级域名Session共享例子,具体操作看博客:http://blog.csdn.net/luogqing/article/details/78595200
配置tomcat-redis-session共享架包,tomcat8,web服务器
使用tomcat,一个tomcat下跑两个web项目,实现两个项目之间的session共享
Request请求到来时,从memcached 2加载备 session 到 tomcat,(当 容器 中还是没有session 则从memcached1加载主 session 到 tomcat, 这种情况是只有一个memcached节点,或者有memcached1 出错时),Request请求...
通过nginx和tomcat和memcached实现session在web服务器之间的共享
tomcat会话保持的三种方法 ... 分析:新建立一个存放各个tomcat session记录的server,每台tomcat服务器都将自己的session记录在这个服务器中,用户再次访问,每台tomcat 都从这个server中获取;实现会话保持
Nginx+Tomcat+Memcached集群Session共享实例,Nginx 1.81 + tomcat1 + tomcat2 + Memcached 完整可运行 访问根目录下 test.jsp 可看效果
tomcat-redis-session-manager-1.2.jar redis+tomcat session共享需要的jar包,包括tomcat6和tomcat7
tomcat共享多个web应用会话的实现方法 问题 今天有位朋友问了个问题,大致是:tomcat下两个Java web,一个是商城,一个是直播,从商城登录后,再跳转到直播,发现处于非登录状态。 解决思路 将session抽出来成一个...
通过插入以下行来配置全局上下文(CATALINA.HOME / conf / context.xml)或Web应用程序上下文(META-INF / context.xml),以使用Tomcat Redis Session Manager “ ru.zinin.redis.session.RedisManager ” /> ...
Memchached+Tomcat6|7session共享 kryo序列化所需要包 (已经更新至1.8.2版本) 1.将所有的包拷贝至tomcat目录下的lib下面; 2.修改conf/context.xml加下面的代码: <Manager className="de.javakaffee.web.msm....
分布式web server集群部署后需要实现session共享,针对 tomcat 服务器的实现方案多种多样,比如 tomcat cluster session 广播、nginx IP hash策略、nginx sticky module等方案,本文主要介绍了使用 redis 服务器进行...
Tomcat Session共享方案使用Tomcat内置的Session复制方案 项目web.xml文件中添加节点2.使用Redis实现session共享to
而实现负载均衡用户每一个请求都有可能被分配到不固定的服务器上,这样我们首先要解决session的统一来保证无论用户的请求被转发到哪个服务器上都能保证用户的正常使用,即需要实现session的共享机制。 在集群系统下...
<Manager className= "de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes= "n1:127.0.0.1:11211" sticky="false" lockingMode="auto" requestUriIgnorePattern= ".*\.(png|gif|jpg|css|...
nginx-redis-tomcat 集群session共享方案 包括Nginx安装,redis安装,Nginx负载均衡配置,redis+双tomcat集群session共享等方案
memcached session manager 1.9.6 适用于 tomcat 8 各版本 memcached session manager原作者是采用maven管理和编译项目,编译起来很麻烦 不同jar版本很容易造成出错,我因为项目需要,所以把他们编译好 . 顺便分享给...
memcached session manager 1.9.6 适用于 tomcat 8 各版本 memcached session manager原作者是采用maven管理和编译项目,编译起来很麻烦 不同jar版本很容易造成出错,我因为项目需要,所以把他们编译好并且做好分类. ...