Tomcat中Session持久化的配置方法

Session持久化(2007-04-08)
Session持久化可以实现当tomcat重新启动后,当前IE使用的session仍然有效而不用重新登录,有两步需要做,session持久化很有用,尤其在eclipse中重新增加类后,tomcat重新加载后,IE页面不用再登录,之前的session依旧保持,调试的时候很有用
1.配置conf/server.xml
在server.xml的根路径或虚拟目录中增加一段,如虚拟目录调度所中:
<Context path="/dds" docBase="D:/01_XZY/98_供电局调度所/02_JSP/HRDGDZC/ROOT" debug="0" reloadable="true" >
<Manager className="org.apache.catalina.session.PersistentManager" debug="0" saveOnRestart="true" maxActiveSessions="-1" minIdleSwap="-1" maxIdleSwap="-1" maxIdleBackup="-1" >
<Store className="org.apache.catalina.session.FileStore" directory="seskep"/>
</Manager>
</Context>
这样之后,普通的session对象(像字符串类的)就能实现持久化了,但如果session使用了对象,则必须实现对象类的可序列化
参数说明:saveOnRestart-服务器关闭时,是否将所有的session保存到文件中;
maxActiveSessions-可处于活动状态的session数;
minIdleSwap/maxIdleSwap-session处于不活动状态最短/长时间(s),sesson对象转移到File Store中;
maxIdleBackup-超过这一时间,将session备份。(-1表示没有限制)
directory="seskep"  会在tomcat的work目录下建立一个目录,用来存储session,这里建立的目录是
D:/JAVA/TOMCAT4/work/Standalone/localhost/dds/seskep

2.类的序列化
如果session中存储了类xzy登录属性的实例,则类xzy登录属性必须能够序列化,才能实现session持久化
实现implements java.io.Serializable接口就可以了

public class xzy登录属性 implements java.io.Serializable
{
  public String UserName=null;
  public String 姓名=null;
  public String 单位=null;
  public String 部门=null;
  public String 职务=null;
  public String 权限设置=null;
  static final public long serialVersionUID=372938;
}
serialVersionUID这个东西估计每个类中写个不同的数值就可以了,好像是版本保持的.
经过测试IE登录后页面后,Session再重新启动,刷新IE页面的时候session对象中的值能够像重启前一样的读出来.

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值