【发布时间】:2012-01-12 15:31:44
【问题描述】:
不知道反序列化后是否调用了HttpServlet的init方法。
我不知道是否有任何容器曾经序列化 servlet,但它实现了 Serializable 接口,因此有可能这样做。
init 方法的 JavaDoc 指出:“由 servlet 容器调用以向 servlet 指示 servlet 正在投入使用。”
反序列化是否等于“投入使用”?
【问题讨论】:
-
我很确定 servlet 永远不会被序列化。它是一个单例,通常是完全无状态的。我看不出序列化它的意义。无论如何,不管是新实例化还是反序列化,init 方法必须在投入使用时调用,因此如果 servlet 容器在未初始化的情况下将 servlet 投入使用,就会违反规范。
标签: serialization servlets lifecycle init