我问这个问题的原因是我想编写一些代码来初始化应用程序,一旦启动并稍后清理。main()方法在JSP/Servlet应用程序中?
我不想使用servlet init()
方法,因为它是每个servlet。
我问这个问题的原因是我想编写一些代码来初始化应用程序,一旦启动并稍后清理。main()方法在JSP/Servlet应用程序中?
我不想使用servlet init()
方法,因为它是每个servlet。
Servlet中没有main()
方法。
如果
的原因,我问这是我想写一旦开始,后来清理初始化应用程序代码。
您可以使用ServletContextListener
实施
public class MyServletContext implements ServletContextListener{
ServletContext context;
public void contextInitialized(ServletContextEvent contextEvent) {
System.out.println("Context Created");
}
public void contextDestroyed(ServletContextEvent contextEvent) {
System.out.println("Context Destroyed");
}
}
的web.xml
<listener>
<listener-class>
com.yourpackage.MyServletContext
</listener-class>
</listener>
没有main()
方法,因为组件被管理并且容器调用其他方法 - 就像servlet和过滤器上的init()
一样。容器本身是通过主要方法启动的,但即使这样也隐藏起来了。
对于每个应用程序和初始化,您可以使用一个ServletContextListener
你必须使用<listener><listener-class>...</listener-class></listener>
在web.xml
它映射。在contextInitialized(..)
和contextDestroyed(..)
中,您可以分别进行初始化和清理。