为什么java中的HttpServlet实现了可序列化?

时间:2011-09-12 10:26:46

标签: java servlets

  

可能重复:
  Why does HttpServlet implement Serializable?

这个问题几天前在内部讨论中突然出现,我们似乎没有找到任何合适的答案。有人能指出我正确的方向吗?

问题:

1)为什么HttpServlet中有implements serializable?我似乎没有找到任何合理的理由。

2)在试图弄清楚这一点时,我查看了api doc并发现了一些有趣的事情

public abstract class HttpServlet extends GenericServlet
implements Serializable

现在,感兴趣的是GenericServlet也扩展了Serializable。因此父类和子类都实现了可序列化。这不是反模式吗?

2 个答案:

答案 0 :(得分:7)

  

1)为什么java中的httpservlet实现了serializable?我似乎没有   找到相同的逻辑原因。

支持虚拟机之间的群集和序列化,钝化等。

答案 1 :(得分:2)

另一个原因是Tomcat等Web容器在关闭时会调用一些钩子。这些钩子保留了hdd上的application / servlet的状态,所以当重新启动web容器时,应用程序不会丢失它的状态。