tomcat+redis实现session共享

1.获得所需要jar包下载地址:https://download.csdn.net/download/qq_36204796/10450451

2.拷贝jar包到tomcat的lib目录下

3.在Tomcat目录/conf/context.xml中配置redis session管理器

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />  
    <Manager className="com.radiadesign.catalina.session.RedisSessionManager" 
    host="192.168.140.132" redis地址 
    port="6379" redis端口
    password="1234" redis密码
    database="0"  
    maxInactiveInterval="60" /> 

4.测试过程

如果是在同一台电脑上部署的两个tomcat,所以需要将tomcat端口改成不一样的。 
Tomcat1:

<Server port="8005" shutdown="SHUTDOWN">
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

Tomcat2:

<Server port="9005" shutdown="SHUTDOWN">
<Connector connectionTimeout="20000" port="9090" protocol="HTTP/1.1" redirectPort="8443"/>
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443"/>

在两个tomcat中部署项目,这里简单处理如下。 
把tomcat的webapps下ROOT目录下全部删掉,然后新建index.jsp文件。 
文件内容如下:

<%@ page language="java" %>  
<html>  
  <head><title>TomcatA</title></head>  
  <body>  
   
    <table align="centre" border="1">  
      <tr>  
        <td>Session ID</td>  
        <td><%= session.getId() %></td>  
      </tr>  
      <tr>  
        <td>Created on</td>  
        <td><%= session.getCreationTime() %></td>  
     </tr>  
    </table>  
  </body>  
</html>  
sessionID:<%=session.getId()%>   
<br>   
SessionIP:<%=request.getServerName()%>   
<br>   
SessionPort:<%=request.getServerPort()%>   
<%   
//为了区分,第二个可以是222  
out.println("This is Tomcat Server 1111");   
%>   

现在可以进行测试了。启动redis,启动tomcat1和tomcat2。分别访问http://localhost:8080http://localhost:9090
访问后浏览器结果如下:


测试结果说明: 
很显然,这两个浏览器输出来自不同的tomcat。但是其sessionPort却是一样的,说明session共享成功。
然后打开redis desktop manager(redis管理器)查看结果:

共享成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值