【发布时间】:2016-02-17 14:31:44
【问题描述】:
我正在编辑一个类,该类旨在放入 servlet 的会话中,用作其他对象的 hastable 的键。我不知道可以放入 HttpSession 的对象的最低要求是什么。可以放入 HttpSession 的对象的最低要求是什么?
【问题讨论】:
标签: servlets httpsession
我正在编辑一个类,该类旨在放入 servlet 的会话中,用作其他对象的 hastable 的键。我不知道可以放入 HttpSession 的对象的最低要求是什么。可以放入 HttpSession 的对象的最低要求是什么?
【问题讨论】:
标签: servlets httpsession
它应该是线程安全的(或者至少你应该知道它可以被多个线程同时使用)。
如果您打算将会话保存到磁盘或在服务器集群之间共享,那么它也应该是Serializable。
如果该对象应该用作 HashMap 的键,那么它应该正确地覆盖 hashCode() 和 equals(),并且使其不可变是个好主意。
【讨论】:
放置在 HttpSession 中的所有对象都应实现 java.io.Serializable。
这确实是唯一的“最低”要求。
为了可扩展性,您通常还希望最小化放置在会话中的对象的总体大小。
【讨论】: