我之所以这样说是因为我想编写代码,一旦启动它就会初始化应用程序,并在以后进行清理。
我不想使用servlet init()
方法,因为它是每个servlet。
答案 0 :(得分:8)
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>
答案 1 :(得分:4)
没有main()
方法,因为组件是受管理的,容器会调用其他方法 - 比如servlet和过滤器上的init()
。容器本身是通过main方法启动的,但即使这样也是隐藏的。
对于每个应用程序和初始化,您可以使用ServletContextListener
您必须使用web.xml
在<listener><listener-class>...</listener-class></listener>
中进行映射。在contextInitialized(..)
和contextDestroyed(..)
中,您可以分别进行初始化和清理。