根据链接http://www.xyzws.com/Servletfaq/when-is-destroy-of-servlets-called/20 ,调用 destroy 方法的原因之一是 当 servlet 长时间没有收到请求时。
我在想可能有些页面很长时间没有被调用。那么,这是否意味着将调用 destroy 而不再使用它们?
其实面试的时候有人问过我这个问题,他告诉我destroy方法只有在服务器关闭的时候才会调用。
感谢对此的任何帮助。
最佳答案
据我所知,
在 java servlet 中,destroy()
不应该被程序员调用。但是,如果它被调用,它就会被执行。隐含的问题是,servlet 会被销毁吗?不,不会。 destroy()
方法不应该也不会破坏 java servlet。
java servlet 中destroy()
的含义是,内容在容器决定销毁servlet 之前执行。但是,如果您自己调用 destroy()
方法,内容只会被执行,然后相应的过程会继续。针对这个问题,执行destroy()
,然后servlet初始化完成。
destroy()
方法首先被调用,然后 Servlet 从容器中移除,最后被垃圾回收。 destroy()
方法通常包含用于释放任何不会被垃圾收集的资源(如 JDBC 连接)的代码。
关于java - 调用servlet的destroy方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13437259/