新浪微博 Github

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


posted @ 2011-10-21 20:01  xiazdong  阅读(296)  评论(0编辑  收藏  举报