`

在同一个tomcat下,不同的web项目共享session

 
阅读更多

有时我们会遇到一个大点的项目,为了方便实现有些功能,我们会把项目拆成不同的独立web项目。

但我们在管理这些项目时,只有一个登陆口,然后在其他项目取session来实现身份的验证。

1、配置tomcat下 conf/server.xml文件,在<Host></Hoser>配置如下:

<Host name="localhost"  appBase="webapps" 
            unpackWARs="true" autoDeploy="true" 
            xmlValidation="false" xmlNamespaceAware="false"> 

    <!-- aa 和bb 为两个不同的web项目  --> 

     <Context path="/aa"  reloadable="true" crossContext="true" /> 
    <Context path="/bb"  reloadable="true" crossContext="true"/> 

</Host>

  

2、 在 aa项目存入session

 

session.setAttribute("user",new Date().toString()+"weiqingli"); 
ServletContext ContextA =session.getServletContext(); 
ContextA.setAttribute("session", session);

 

3、在bb 项目取出 session

 

HttpSession session1 =request.getSession();   
ServletContext Context = session1.getServletContext();   
ServletContext Context1= Context.getContext("/aa");     
if(Context1 !=null && !Context1.equals("")){       
    HttpSession sess =(HttpSession)Context1.getAttribute("session"); 
    out.println(sess.getAttribute("user")); 
}

 

大家可能很容易看得出这个是单向传的session,其实要实现双向,将上面的程序反写就可以实现从bb存入,aa取出了。

 

转载地址:http://www.cnblogs.com/seed_lee/archive/2011/06/27/2091479.html

分享到:
评论

相关推荐

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

    当我们在同一台服务器上部署多个Web项目时,有时需要实现不同Web项目之间的session共享,以便用户在访问一个项目时的数据能够在其他项目中继续有效。本篇文章将深入探讨如何在Tomcat服务器上实现在不同Web项目之间...

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

    在分布式系统中,session共享是一个重要的需求,因为用户在访问系统时,希望其登录状态和购物车等信息能在不同的服务器之间保持一致。 首先,我们要理解Session的工作原理。Session是Web应用中用于跟踪用户状态的一...

    memcached实现多个tomcat 共享一个session

    标题中的“memcached实现多个tomcat共享一个session”是指在分布式系统中,通过使用memcached作为session存储介质,实现多台Tomcat服务器之间的session共享。这样可以确保用户在集群中的任意一台服务器上登录后,其...

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

    在单个服务器上,Session可以通过内存来管理,但在分布式环境下,多个服务器无法共享同一个内存中的Session,这就需要引入外部存储来实现Session共享。 Redis是一个高性能的键值数据库,常被用作缓存和会话存储解决...

    nginx+tomcat+redis完成session共享

    2. **添加session存储库**:在Tomcat服务器中,需要添加一个session存储库,通常是一个Java的HttpSessionListener,以便在session创建或销毁时与Redis进行交互。你可以使用第三方库如`spring-session-data-redis`来...

    nginx+tomcat shiro实现多tomcat下session共享

    "nginx+tomcat shiro实现多tomcat下session共享"这一主题,就是探讨在这样的架构中,如何有效管理和共享session。 1. **Nginx的作用**: Nginx是一个高性能的HTTP和反向代理服务器,常用于负载均衡,可以将用户的...

    tomcat8集群实现session共享,内含session共享包

    在IT行业中,尤其是在Web服务器领域,Tomcat是一个广泛使用的开源应用服务器,特别是对于Java Servlet和JavaServer Pages(JSP)的应用。在这个场景中,我们关注的是如何在Tomcat集群环境中实现Session共享,以便...

    tomcat7集群实现session共享

    在IT行业中,Tomcat是一个广泛使用的Java应用服务器,特别是对于Servlet和JSP应用程序。当我们谈论“Tomcat7集群实现session共享”时,我们关注的是如何在多个Tomcat实例之间有效地同步用户会话信息,以便在集群环境...

    Tomcat7+Redis+Session 负载之后session 共享 tomcat jar包

    标题 "Tomcat7+Redis+Session 负载之后session 共享 tomcat jar包" 涉及的是在使用Nginx做负载均衡时,如何通过集成Redis来实现Tomcat7服务器之间的Session共享,从而确保用户在不同服务器之间切换时仍然能够保持...

    tomcat7tomcat8做redis session共享jar包

    标题中的“tomcat7tomcat8做redis session共享jar包”指的是在Tomcat 7和Tomcat 8这两种不同的Web服务器环境中,通过集成Redis来实现Session的共享功能。Redis是一种高性能的键值存储系统,常被用作分布式环境下的...

    tomcat9+apr+redissession共享

    - **配置Session共享**:在Tomcat的`context.xml`或`web.xml`文件中,你可以配置一个SessionManager来使用Redis作为Session存储。这通常涉及到添加一个`&lt;Manager&gt;`元素,指定`className`为`org.apache.catalina....

    tomcat7+redis单点 session共享jar

    本资源"tomcat7+redis单点 session共享jar"提供了针对Tomcat7服务器和Redis数据存储的一个解决方案,以实现跨服务器的session共享。 **Tomcat7** 是一个广泛使用的开源Java Servlet容器,它实现了Java EE的Web应用...

    memcached+tomcat7共享session所需要的jar包

    标题中的“memcached+tomcat7共享session所需要的jar包”是指使用Memcached作为分布式缓存系统,实现Tomcat7服务器间的Session共享。这通常是为了在集群环境中解决Session复制或粘滞会话的问题,提高Web应用的可扩展...

    tomcat8-redis-session共享

    但在分布式环境中,每台服务器都有自己的Session,导致跨服务器时无法共享Session信息。为了解决这个问题,我们可以引入Redis来存储和管理Session。 步骤如下: 1. **配置Redis**:首先确保你已经安装并运行了...

    tomcat实现session共享

    在IT行业中,尤其是在Web应用开发领域,服务器集群和session共享是一个关键问题。当多个服务器共同处理用户请求时,保持用户会话(session)的一致性是必要的,以确保用户在不同服务器之间切换时不会丢失登录状态或...

    tomcat7+redis集群 session共享jar

    Tomcat7是Apache软件基金会的一个开源项目,是一个流行的Java Servlet容器,常用于部署Web应用程序。Redis则是一种高性能的键值存储系统,常被用作缓存服务,以提高系统的响应速度和数据一致性。当我们在多台Tomcat...

    tomcat-redis配置session共享

    在分布式系统中,Session共享是一个常见的需求,尤其是在多个Tomcat实例组成的集群中。为了实现这样的功能,我们可以利用Redis作为中间缓存服务器,存储和管理用户的Session数据。下面将详细介绍如何配置Tomcat与...

    tomcat8-redis实现session共享jar包

    然而,随着微服务架构的普及,多个独立的Tomcat实例可能部署在不同的服务器上,这时就需要一种方法来跨服务器共享session数据。 这就是`Redis`的角色。Redis是一个高性能的键值数据库,常被用作缓存系统。由于它...

    tomcat7 集群通过redis共享session 所需jar包

    在`lib`目录下的jar包可能是实现Tomcat与Redis交互所需的库,例如`jedis.jar`(Jedis是Java客户端用于操作Redis)和其他可能的依赖,如`spring-session-data-redis.jar`(Spring Session提供了一种在不同服务器间...

    Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享

    综上所述,通过结合Redis、Tomcat和Nginx,我们可以构建一个高效、可靠的Session共享环境,保证用户在分布式Web应用中的体验一致性。配置和优化这个过程需要对各组件有深入理解,并根据实际需求进行调整,以达到最佳...

Global site tag (gtag.js) - Google Analytics