Class 将对象放入 HttpSession 的要求

Class requirements for placing object into HttpSession

我正在编辑一个 class,它意味着被放入 servlet 的会话中,用作其他对象的 hastable 的键。我不知道可以放入 HttpSession 的对象的最低要求是什么。可以放入 HttpSession 的对象的最低要求是什么?

它应该是线程安全的(或者至少你应该知道它可以被多个线程同时使用)。

如果您打算将会话保存到磁盘或在服务器集群之间共享它,那么它也应该是 Serializable

并且如果该对象应该用作 HashMap 的键,那么它应该正确地覆盖 hashCode()equals(),并且让它不可变是个好主意。

所有放置在 HttpSession 中的对象都应该实现 java.io.Serializable

这确实是唯一的 "minimal" 要求。

为了可伸缩性,您通常还希望尽量减少放置在会话中的对象的总体大小。