Tomcat 问题: Cannot serialize session attribute XXX for ..的解决办法

1.在关闭和重启Tomcat 5时, tomcat 会试图 serialize存在的session资源. 如果 sessions中相关的对象没有实现 serializable 接口, 就会出现Cannot serialize session attribute XXX for 异常.

解决办法:
第一种:如果你不想看到该异常, 也不想保存session. 那么你可以在Tomcat/conf/Context.xml 的<Context> tags中间 加上 :
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false">
<Store className="org.apache.catalina.session.FileStore"/>
</Manager>这样 tomcat 在关闭的时候就不会保存session资源了.


第二种:你也可以在server.xml中指定上面的值. 这也所有的程序都使用这个设置了.

第三种:
很多时候明明在服务器上关闭了TOMCAT,但是客户端的表示SESSION仍然在线,以下内容大概会对您有帮助
<Manager className="org.apache.catalina.session.PersistentManager"
debug="0"

saveOnRestart="false"

maxActiveSessions="-1"

minIdleSwap="-1"

maxIdleSwap="-1"

maxIdleBackup="-1">

<Store className="org.apache.catalina.session.FileStore"/>

</Manager>
Manager块是要放到相应的Application的Context下.

第四种:
将那些需要放在session的类进行序列化。
也就是让类实现接口java.io.Serializable即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值