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即可。