java - 调用servlet的destroy方法

标签 java jakarta-ee servlets destroy

根据链接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/

相关文章:

java - com.sun.jdmk.comm 包不存在

java - 启动单例 bean 可以延迟 J2EE 容器初始化吗?

java - Eclipse:在调试 Java EE 时不显示变量

java - Grails 将 HttpInputStream 渲染为 pdf

java - 可用的 Servlet 3.0 实现?

java - 通过json发送请求参数

java - 如何在 Java Web 应用程序和普通 Java 应用程序之间共享代码

java - 打开其他实例时将正在运行的应用程序置于最前面

java - 对话框后请求 EditText 时不显示键盘

tomcat - 我使用 Spring MVC 的 DeferredResult 类导致 Tomcat 无提示地崩溃