有时我们会遇到一个大点的项目,为了方便实现有些功能,我们会把项目拆成不同的独立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取出了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/weiqingli190949353/archive/2011/06/22/6562312.aspx
分享到:
相关推荐
当我们在同一台服务器上部署多个Web项目时,有时需要实现不同Web项目之间的session共享,以便用户在访问一个项目时的数据能够在其他项目中继续有效。本篇文章将深入探讨如何在Tomcat服务器上实现在不同Web项目之间...
在分布式系统中,session共享是一个重要的需求,因为用户在访问系统时,希望其登录状态和购物车等信息能在不同的服务器之间保持一致。 首先,我们要理解Session的工作原理。Session是Web应用中用于跟踪用户状态的一...
标题中的“memcached实现多个tomcat共享一个session”是指在分布式系统中,通过使用memcached作为session存储介质,实现多台Tomcat服务器之间的session共享。这样可以确保用户在集群中的任意一台服务器上登录后,其...
在单个服务器上,Session可以通过内存来管理,但在分布式环境下,多个服务器无法共享同一个内存中的Session,这就需要引入外部存储来实现Session共享。 Redis是一个高性能的键值数据库,常被用作缓存和会话存储解决...
2. **添加session存储库**:在Tomcat服务器中,需要添加一个session存储库,通常是一个Java的HttpSessionListener,以便在session创建或销毁时与Redis进行交互。你可以使用第三方库如`spring-session-data-redis`来...
"nginx+tomcat shiro实现多tomcat下session共享"这一主题,就是探讨在这样的架构中,如何有效管理和共享session。 1. **Nginx的作用**: Nginx是一个高性能的HTTP和反向代理服务器,常用于负载均衡,可以将用户的...
在IT行业中,尤其是在Web服务器领域,Tomcat是一个广泛使用的开源应用服务器,特别是对于Java Servlet和JavaServer Pages(JSP)的应用。在这个场景中,我们关注的是如何在Tomcat集群环境中实现Session共享,以便...
在IT行业中,Tomcat是一个广泛使用的Java应用服务器,特别是对于Servlet和JSP应用程序。当我们谈论“Tomcat7集群实现session共享”时,我们关注的是如何在多个Tomcat实例之间有效地同步用户会话信息,以便在集群环境...
标题 "Tomcat7+Redis+Session 负载之后session 共享 tomcat jar包" 涉及的是在使用Nginx做负载均衡时,如何通过集成Redis来实现Tomcat7服务器之间的Session共享,从而确保用户在不同服务器之间切换时仍然能够保持...
标题中的“tomcat7tomcat8做redis session共享jar包”指的是在Tomcat 7和Tomcat 8这两种不同的Web服务器环境中,通过集成Redis来实现Session的共享功能。Redis是一种高性能的键值存储系统,常被用作分布式环境下的...
- **配置Session共享**:在Tomcat的`context.xml`或`web.xml`文件中,你可以配置一个SessionManager来使用Redis作为Session存储。这通常涉及到添加一个`<Manager>`元素,指定`className`为`org.apache.catalina....
本资源"tomcat7+redis单点 session共享jar"提供了针对Tomcat7服务器和Redis数据存储的一个解决方案,以实现跨服务器的session共享。 **Tomcat7** 是一个广泛使用的开源Java Servlet容器,它实现了Java EE的Web应用...
标题中的“memcached+tomcat7共享session所需要的jar包”是指使用Memcached作为分布式缓存系统,实现Tomcat7服务器间的Session共享。这通常是为了在集群环境中解决Session复制或粘滞会话的问题,提高Web应用的可扩展...
但在分布式环境中,每台服务器都有自己的Session,导致跨服务器时无法共享Session信息。为了解决这个问题,我们可以引入Redis来存储和管理Session。 步骤如下: 1. **配置Redis**:首先确保你已经安装并运行了...
在IT行业中,尤其是在Web应用开发领域,服务器集群和session共享是一个关键问题。当多个服务器共同处理用户请求时,保持用户会话(session)的一致性是必要的,以确保用户在不同服务器之间切换时不会丢失登录状态或...
Tomcat7是Apache软件基金会的一个开源项目,是一个流行的Java Servlet容器,常用于部署Web应用程序。Redis则是一种高性能的键值存储系统,常被用作缓存服务,以提高系统的响应速度和数据一致性。当我们在多台Tomcat...
在分布式系统中,Session共享是一个常见的需求,尤其是在多个Tomcat实例组成的集群中。为了实现这样的功能,我们可以利用Redis作为中间缓存服务器,存储和管理用户的Session数据。下面将详细介绍如何配置Tomcat与...
然而,随着微服务架构的普及,多个独立的Tomcat实例可能部署在不同的服务器上,这时就需要一种方法来跨服务器共享session数据。 这就是`Redis`的角色。Redis是一个高性能的键值数据库,常被用作缓存系统。由于它...
在`lib`目录下的jar包可能是实现Tomcat与Redis交互所需的库,例如`jedis.jar`(Jedis是Java客户端用于操作Redis)和其他可能的依赖,如`spring-session-data-redis.jar`(Spring Session提供了一种在不同服务器间...
综上所述,通过结合Redis、Tomcat和Nginx,我们可以构建一个高效、可靠的Session共享环境,保证用户在分布式Web应用中的体验一致性。配置和优化这个过程需要对各组件有深入理解,并根据实际需求进行调整,以达到最佳...