我想知道反序列化后是否调用了 HttpServlet 的 init 方法。

我不知道是否有任何容器曾经序列化一个 servlet,但它实现了 Serializable 接口(interface),所以有可能做到这一点。

init 方法的 JavaDoc 指出:“由 servlet 容器调用以向 servlet 指示 servlet 正在投入使用。”

反序列化是否等于“投入使用”?

请您参考如下方法:

虽然我从来没有真正处理过通过序列化来换出 servlet 的容器,老实说,我真的无法想象现代容器何时会这样做,但我一直理解 init() servlet 在其生命周期中只调用一次,因此在反序列化时不会再次调用它。与任何事情一样Serializable您需要通过实现 readFields() 来编写特殊处理.


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!