java - JSP 中的 Bean 序列化

标签 java jsp javabeans httpsession

为什么有时教程让 Bean 实现可序列化对象,而另一些则不然? 我知道当我想通过网络发送对象时应该将其序列化,这是否证明 session 中使用的每个 bean 都应该实现可序列化对象,而 JSP 页面中定义的 bean 则不应该实现,因为它们不是使用 HTTP 请求传输的。

最佳答案

I know that object should be serialized when I want to send it through a network, so does that prove that each bean used in sessions should implements Serializable

您似乎认为 session 中的对象是在 http 传输中发送到客户端的?事实肯定不是这样的。传输的只是 session ID(通常在 cookie 中)。 servlet 容器(例如 Tomcat)仅在内存中保存 session 对象(是否为 bean),并通过 session id 进行索引。

此外,序列化不仅适用于网络传输,还适用于保存/加载到持久存储(例如磁盘)。

现在,许多 Servlet 容器通常允许(根据设置)将 Session 对象保留到磁盘,以便它们能够在应用程序服务器重新启动后继续存在。对于这种情况,必须让 session 对象可序列化。

无论如何,实现 Serialized 接口(interface)对于每个 java bean 来说都是一件好事,而且通常很容易。

关于java - JSP 中的 Bean 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4911472/

相关文章:

java - 如何使用Java查找XML中未封闭的标签?

java - hibernate :更新子对象

java - 在java中创建对象时如何获取对象名称?

jsp - 如何在包含的页面中使用声明的变量?

java - HTTP POST : how to ensure it is called only from a previous page?

java - Jackson - Java bean 到 JSON 字符串 : uppercase variable converted into lowercase in JSON

java - x mod -3 返回正数

ajax - 为什么 <c :forEach> not working with Ajax request in JSP Spring?

Java Bean 返回值为 Null

java - NoSuchBeanDefinitionException : No qualifying bean