您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

我想使用一种部署到服务器后仅被调用一次的方法。

我想使用一种部署到服务器后仅被调用一次的方法。

不,在每个请求中都不会调用它。它仅在servlet初始化期间被调用,该初始化通常在webapp的生存期内仅发生一次。另请参阅此答案获取更多有关如何创建和执行servlet的详细信息。

如果您实际上想进行一些全局/应用程序范围的初始化(因此,它本身并不仅仅与特定的servlet绑定),那么通常可以使用ServletContextListener。您可以在contextInitialized()方法中进行初始化。

import javax.servlet.ServletContextEvent;
import javax.servlet.servletcontextlistener;
import javax.servlet.annotation.WebListener;

@WebListener
public class Config implements servletcontextlistener {
    public void contextInitialized(ServletContextEvent event) {
        // Do stuff during webapp's startup.
    }
    public void contextDestroyed(ServletContextEvent event) {
        // Do stuff during webapp's shutdown.
    }
}

如果您Servlet 3.0尚未上线且无法升级,因此无法使用@WebListener注释,则需要手动注册/WEB- INF/web.xml如下所示:

<listener>
    <listener-class>com.example.Config</listener-class>
</listener>
其他 2022/1/1 18:31:54 有550人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶