不,在每个请求中都不会调用它。它仅在servlet初始化期间被调用,该初始化通常在webapp的生存期内仅发生一次。另请参阅此答案以获取更多有关如何创建和执行servlet的详细信息。
如果您实际上想进行一些全局/应用程序范围的初始化(因此,它本身并不仅仅与特定的servlet绑定),那么通常可以使用
ServletContextListener。您可以在
contextInitialized()方法中进行初始化。
import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import javax.servlet.annotation.WebListener;@WebListenerpublic 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>



