使用java/j2ee,序列化如何工作以及如何在会话中保存该对象?

Ber*_*own 2 java session serialization servlets

如果我有一个包含数百个String字段和对象对象的复杂对象.有些正在实现Serializable,有些则不是.

j2ee服务器如何在会话中序列化该数据.我是否希望返回所有数据.甚至是物体的物体.

Session.setAttribute(数据)

例如Session.getAttribute()== data.getData().getData().getData().getData1()

从getData1()返回的对象是否正确返回?

(我正在使用Tomcat 6和Websphere 6+)

Mic*_*rdt 8

Servlet规范需要存储在会话完全可序列化对象,如果你违反了规范这将是完全正确的行为,使容器与NotSerializableException崩溃,并关闭整个会话为无效.

幸运的是,大多数Web容器都更宽容,而是将会话保留在内存中,只是在日志文件中写入警告.当然,如果你有很多包含大量数据的会话,这可能会导致问题.