Tomcat实现Session ID的持久化保存实现
一般的,如果一个用户打开一个浏览器,服务器就会分配一个sessionid,通过session.getId()函数可以返回session的id;
但是如果一旦关闭服务器后,再重启服务器,刷新页面,则服务器会重新分配一个新的sessionid;
如果我们想要保留原有的id,则可以通过序列化方式保存sessionid。
在conf/server.xml中,在Context即web项目中加入
- <Context path="/test" docBase="F:\JAVA WEB Practice\tomcatProject" reloadable="true">
- <Manager className="org.apache.catalina.session.PersistentManager">
- debug=0 saveOnRestart="true"
- maxActiveSession="-1" minIdleSwap="-1"
- maxIdleSwap="-1" maxIdleBackup="-1"
- <Store className="org.apache.catalina.session.FileStore" directory="F:\JAVA WEB Practice\tomcatProject\temp"/>
- </Manager>
- </Context>
表示把序列号存在F:\JAVA WEB Practice\tomcatProject\temp下;
实现的效果是这样的:
1.打开一个网页,网页的目的是输出session id;
2.关闭tomcat,则在temp文件夹下会出现一个临时文件;
3.重新启动tomcat;
4.刷新页面,session id不变;