`
mimang2007110
  • 浏览: 237223 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

同一tomcat下不同web项目session共享方法

 
阅读更多

声明:是一个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,否则没用!!!!

 

 

此文为转载

分享到:
评论

相关推荐

    Tomcat 同一服务器上 不同web项目共享session的

    总的来说,实现Tomcat服务器上不同Web项目的session共享是一个涉及多方面技术的问题,需要对Java Web开发、Tomcat服务器配置以及安全性有深入理解。根据项目的规模和复杂性,选择合适的方法可以有效地提升用户体验并...

    Tomcat8(Tomcat9)+redis实现Session共享(支持Redis集群)

    总之,通过Tomcat和Redis结合实现Session共享,不仅解决了分布式环境下的会话管理问题,还利用了Redis的高效特性,提升了系统的整体性能。这个方案对于大型、高并发的Web应用来说,是一种有效的优化策略。

    nginx实现多个tomcat7直接session共享所需jar包

    标题中的“nginx实现多个tomcat7直接...以上就是关于“nginx实现多个tomcat7直接session共享所需jar包”的详细解释,包括了Session共享的背景、原理以及可能的实现方法。希望这些信息能帮助你理解和解决实际问题。

    tomcat7/tomcat8+redis 实现session共享

    总的来说,这个解决方案结合了Tomcat的Web服务能力、Redis的高可用存储和Nginx的负载均衡,有效地解决了在分布式环境中Session共享的问题。在实际部署时,还需要考虑安全性、性能优化以及故障恢复等多方面因素,确保...

    tomcat7-redis-session共享 demo程序

    【描述】中提到的“实现session共享”是指在Web应用程序运行于多个服务器实例(例如,负载均衡环境)时,通过将session数据保存在外部存储(在这种情况下是Redis内存数据库)中,确保所有服务器可以访问同一份...

    适配与Tomcat7、8、9的redis session共享jar包

    综上所述,"适配与Tomcat7、8、9的redis session共享jar包"提供了一种有效的方法,解决了在多台Tomcat服务器之间共享session的挑战,利用Redis的高效存储和检索能力,提高了Web应用的可扩展性和用户体验。...

    tomcat7集群实现session共享

    Tomcat7提供了几种session共享策略,包括以下几种常见方法: 1. **JVM-RMI**:这是Tomcat默认的session复制方式。每个服务器都将session对象复制到其他服务器,通过Java远程方法调用(RMI)实现。这种方式简单易用...

    tomcat8+redis+session共享jar包

    总结起来,这个“tomcat8+redis+session共享jar包”提供了一种有效的方法,通过集成Redis来实现Tomcat 8.0和8.5的session共享,提升了应用的性能和可扩展性,尤其适合大型分布式系统。开发者可以通过配置和使用`...

    Session共享 tomcat8+redis的session共享实现

    接下来,我们将详细讲解如何配置和实现Tomcat8与Redis的Session共享: 1. **安装Redis**: 在开始之前,确保已经在服务器上安装并运行了Redis。可以在Redis官网下载相应平台的二进制包,解压后启动Redis服务器。 2....

    Tomcat7+redis实现session共享

    通过将session数据序列化后存入`redis`,不同服务器可以访问同一份session数据,从而实现session共享。 实现步骤如下: 1. **安装和配置redis**:首先确保在所有需要共享session的服务器上都安装了`redis`,并启动...

    tomcat的session共享所需jar包

    Tomcat提供了多种方式来实现session共享,如使用粘性会话、共享内存、数据库存储以及基于JNDI的会话复制等。 1. **粘性会话(Sticky Sessions)**:这是最简单的session共享方式,通过负载均衡器将特定用户的请求...

    tomcat中Nginx+memcached实现session共享

    2. 添加依赖:在Tomcat服务器上,将`tomcat_Session共享jar包`中的相关jar文件添加到项目的类路径中。这些jar文件通常包括与memcached交互的客户端库,如spymemcached。 3. 编码集成:在Servlet过滤器中,用...

    Nginx+tomcat 实现负载均衡session共享demo

    `session`在Web应用中用于存储用户状态信息,如果在`Nginx`负载均衡下不共享,会导致用户在切换服务器时丢失`session`数据。有几种常见的解决方案: 1. **Cookie-Based**:将`session ID`存储在cookie中,每次请求...

    tomcat-session共享

    在构建分布式系统时,Session共享是一个关键问题,特别是在使用Linux上的Tomcat服务器集群与Nginx作为反向代理的情况。标题“tomcat-session共享”和描述中提到的问题,主要是指如何在多台Tomcat服务器之间以及通过...

    nginx+tomcat6+redis实现session共享Jar文件

    3. **添加共享session的jar文件**:压缩包中的"tomcat6+redis做session共享亲测可用"文件可能包含了一个实现了session共享功能的jar文件,需要将其添加到Tomcat的lib目录下,使得Tomcat能够使用这个库。 4. **配置...

    tomcat集群session共享解决方案

    本篇文章将深入探讨Tomcat集群中session共享的解决方案,以及相关的应用知识。 1. **Session复制**:这是最基础的session共享方法。通过配置Tomcat的`cluster`模块,可以设置session复制策略。每当一个session在...

    Nginx+Tomcat+Memcached实现tomcat集群和session共享

    下面我们将详细探讨如何实现Nginx+Tomcat+Memcached的集群和Session共享。 **Nginx** Nginx是一款轻量级的Web服务器/反向代理服务器,以其高效的性能和低内存占用著称。在本场景中,Nginx主要负责以下任务: 1. **...

    tomcat8 用redis共享session用于jdk8以上版本

    标题中的“tomcat8 用redis共享session用于jdk8以上版本”揭示了本文将深入探讨在Java开发环境中,如何利用Tomcat8应用服务器与Redis内存数据存储系统来实现跨服务器的Session共享,特别针对JDK8及更高版本。...

    nginx+tomcat+redis服务器集群session共享

    通过以上步骤,我们可以构建一个基于nginx、tomcat和redis的服务器集群,有效地实现了session共享。这种架构不仅提高了系统的可用性和扩展性,还保证了用户在集群中的体验一致性。在实际应用中,还可以根据需求调整...

    tomcat 7.0.70 使用redis 做session共享用到的包

    在现代Web应用开发中,session共享...总结,`tomcat-redis-manager`使得Tomcat能够利用Redis实现高效的session共享,解决了分布式环境下的session一致性问题。通过正确配置和优化,可以显著提升Web应用的性能和可靠性。

Global site tag (gtag.js) - Google Analytics