我想知道反序列化后是否调用了 HttpServlet 的 init 方法。
我不知道是否有任何容器曾经序列化一个 servlet,但它实现了 Serializable 接口(interface),所以有可能做到这一点。
init 方法的 JavaDoc 指出:“由 servlet 容器调用以向 servlet 指示 servlet 正在投入使用。”
反序列化是否等于“投入使用”?
最佳答案
虽然我从来没有真正处理过通过序列化来换出 servlet 的容器,老实说,我真的无法想象现代容器何时会这样做,但我一直理解 init()
servlet 在其生命周期中只调用一次,因此在反序列化时不会再次调用它。与任何事情一样Serializable
您需要通过实现 readFields()
来编写特殊处理.
关于serialization - HttpServlet 生命周期和序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8837646/