声明:是一个tomcat下的不同web项目,不是不同tomcat不同项目的,所有这里不会说用什么集群的方法....
其实也很简单,就是将session保存在ServletContext里面就可以了。
在项目A中:
session.setAttribute("user",user);
ServletContext ContextA =session.getServletContext();
ContextA.setAttribute("session", session);
在项目B中:添加一个过滤器(web.xml配置就不写了)
- public class SessionFilter implements Filter {
-
-
private static final long serialVersionUID = 1L;
-
-
@Override
-
public void destroy() {
-
- }
-
-
@Override
-
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
-
FilterChain chain) throws IOException, ServletException {
- HttpServletRequest request = (HttpServletRequest)servletRequest;
- HttpServletResponse response = (HttpServletResponse)servletResponse;
-
- HttpSession session1 =request.getSession();
- ServletContext Context = session1.getServletContext();
-
ServletContext Context1= Context.getContext("/项目A名称");
-
if(Context1 !=null && !Context1.equals("")){
-
HttpSession session =(HttpSession)Context1.getAttribute("session");
-
-
String user = null;
-
try{
-
user =(String) session.getAttribute("user");
-
}catch (Exception e) {
- }
-
request.setAttribute("user", user);
-
- }
- chain.doFilter(request, response);
-
-
- }
-
-
@Override
-
public void init(FilterConfig arg0) throws ServletException {
-
System.out.println("sessionFilter");
- }
-
-
- }
这样在项目A登陆用户 保存session,在项目B就可以获取A的session信息了。当然这只是单向的,双向的方法也一样了
注: <Context path="/xxx" docBase="xxx" debug="0" reloadable="true" crossContext="true"/>
crossContext必须设置为true,否则没用!!!!
转载http://blog.csdn.net/lgm277531070/archive/2009/12/02/4923358.aspx
分享到:
相关推荐
NULL 博文链接:https://rainbow702.iteye.com/blog/1312307
nginx+tomcat8+memcached session共享所需jar包 直接放到tomcat/lib下即可
tomcat7+redis集群 session共享jar 提供支持tomcat7 + redis单点 集群 实现session共享的jar资源
使用说明:请严格按照资源内的readme文档来说明部署,不要搞错版本,完美支持Tomcat8和Tomcat9等新版本Tomcat,仅支持JDK8以上版本JDK。
自己做的一个nginx+tomcat+redis完成session共享小例子,包括所需jar,适合初学者,希望大家一起学习交流
Session共享 tomcat7+redis的session共享实现,无需重新打包,直接放入tomcat lib中就可以使用,记得修改tomcat的content.xml
nignx 进行负载后session失效的完美解决,亲测可用
用于tomcat6 使用memcache 实现session共享的jar包,将此处5个jar包拷贝到tomcat目录下的lib目录下即可。
tomcat-redis集群时session共享jar工具类,支持tomcat8
该资源是用于测试tomcat7-redis实现session共享的demo程序,用户可以直接下载使用
完美实现分布式集群Session共享 简单多tomcat8+redis的session共享实现,支持tomcat8、tomcat8.5、tomcat9,不能用直接联系我积分双倍返回。
目前只支持tomcat8.5,其它版本的tomcat还没测试,自己配置过很多nginx+tomcat集群+redis实现session共享的系统,经过仔细总结得出这些,可以说是知识的结晶,欢迎大家来下载,不好的地方可以多提,有问题看到的话会...
tomcat集群使用redis解决session共享问题,压缩包包含redisclient-win32.x86.2.0客户端、Redis-x64-3.2.100服务、tomcat-redis-session以及部署安装文档
tomcat7 tomcat8 使用redis做session共享jar包 已编译过直接可以使用
tomcat8 Redis集群 同步Session 中用到的jar 附带tomcat content.xml配置文件
4、在原有tomcat\context.xml下 添加 以下代码(参考 <Manager className="org.redisson.tomcat.RedissonSessionManager" configPath="${catalina.base}/redisson.conf" readMode="REDIS" updateMode=...
测试tomcat多节点之间的session共享war包(java)
下载压缩包,里面有对应的tomcat的需要的jar,并且部署文档。按照里面修改就行了
Tomcat8+redis实现session共享 Tomcat8+redis实现session共享
适配与Tomcat7、8、9的redis session共享jar包