Tomcat实现Session ID的持久化保存实现

一般的,如果一个用户打开一个浏览器,服务器就会分配一个sessionid,通过session.getId()函数可以返回session的id;

但是如果一旦关闭服务器后,再重启服务器,刷新页面,则服务器会重新分配一个新的sessionid;

如果我们想要保留原有的id,则可以通过序列化方式保存sessionid。

在conf/server.xml中,在Context即web项目中加入

 

[html] view plaincopy
 
  1. <Context path="/test" docBase="F:\JAVA WEB Practice\tomcatProject" reloadable="true">  
  2.     <Manager className="org.apache.catalina.session.PersistentManager">  
  3.         debug=0     saveOnRestart="true"  
  4.         maxActiveSession="-1"   minIdleSwap="-1"  
  5.         maxIdleSwap="-1"        maxIdleBackup="-1"  
  6.         <Store className="org.apache.catalina.session.FileStore" directory="F:\JAVA WEB Practice\tomcatProject\temp"/>  
  7.     </Manager>  
  8. </Context>  

表示把序列号存在F:\JAVA WEB Practice\tomcatProject\temp下;

 

 

实现的效果是这样的:

1.打开一个网页,网页的目的是输出session id;

2.关闭tomcat,则在temp文件夹下会出现一个临时文件;

3.重新启动tomcat;

4.刷新页面,session id不变;

posted @ 2014-10-30 14:29  惊蛰.  阅读(576)  评论(0编辑  收藏  举报