【问题标题】:Does my Servlet have to implement Serializable? [duplicate]我的 Servlet 是否必须实现 Serializable? [复制]
【发布时间】:2013-10-19 01:42:13
【问题描述】:

我有一个简单的 Servlet。

public class MyServlet extends HttpServlet
{
...
}

我也需要implement Serializable吗?

public class MyServlet extends HttpServlet implements Serializable
{
...
}

HttpServlet 已经是implements Serializable。那么,这里是冗余吗?

如果实施和不实施会有什么影响?

【问题讨论】:

  • 与你为什么让你的 bean 实现 Serializable 的原因相同..
  • 没有必要投反对票,因为 user2488578 清楚地考虑了这一点。他或她只是没有经验知道为什么 bean 不同于 servlet 以及继承如何工作。初学者没有错。
  • @Rupesh 我希望在这里对您的 cmets 投反对票。还是你不是初学者?

标签: java servlets serialization


【解决方案1】:

HttpServlet 已经实现了 Serializable,所以即使你的 servlet 中没有实现 Serializable,它仍然实现了 Serializable

更多关于 Serializable 的信息以及 HttpServlet 实现 Serializable 的原因

What does Serializable mean?

Why does HttpServlet implement Serializable?

【讨论】:

    【解决方案2】:

    每当你扩展一个类时,你就扩展了它的所有内容。因此,由于HttpServlet 实现了Serializable,所以当您扩展HttpServlet 时,Serializable 就会出现。不需要自己再做一次。

    【讨论】:

      【解决方案3】:

      不,你不需要这样做。正如你所说,这是多余的,因为HttpServlet 已经实现了Serializable

      别忘了在MyServlet 类中定义static final long serialVersionUID 字段。

      【讨论】:

        【解决方案4】:

        看到这个:http://www.javapractices.com/topic/TopicAction.do?Id=45我希望它对你有用

        【讨论】:

          【解决方案5】:

          Serializablemarker interface。它确实not have any method of it's own。这只是 jvm 的一个hint,子类的对象可以序列化或写入文件或网络等流。

          如果一个类已经实现了它,就不需要再这样做了。

          【讨论】:

            猜你喜欢
            • 2012-02-26
            • 2019-06-30
            • 2012-03-05
            • 1970-01-01
            • 2011-10-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多