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:8080和http://localhost:9090
访问后浏览器结果如下:
测试结果说明:
很显然,这两个浏览器输出来自不同的tomcat。但是其sessionPort却是一样的,说明session共享成功。
很显然,这两个浏览器输出来自不同的tomcat。但是其sessionPort却是一样的,说明session共享成功。
然后打开redis desktop manager(redis管理器)查看结果:
共享成功!