我想知道在反序列化之后是否调用了HttpServlet的init方法。
我不知道是否有任何容器序列化了一个servlet,但它实现了Serializable接口,因此有可能这样做。
init方法的JavaDoc指出:“由servlet容器调用,以向servlet指示servlet正在投入服务。”
反序列化是否等于“投入使用”?
答案 0 :(得分:5)
虽然我从未真正处理过通过序列化交换servlet的容器,但老实说我真的无法想象现代容器何时会这样做,但我一直都知道init()
是在生命周期中为servlet调用一次,因此,在反序列化时将再次调用 。与任何Serializable
一样,您需要通过实施readFields()
来编写特殊处理。