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不变;