今天在做项目的时候,需要在tomcat启动的时候便进入某个Java类中初始化一些信息。主要是加载数据字典表中的数据。通过学习了tomcat的事件处理机制以及tomcat的生命周期。将该问题成功解决,现在将这个过程记录如下:
一:首先,自定义一个监听器类,并实现ServletContextListener,重写里面的contextDestroyed和contextInitialized,将需要进行的操作写在这两个方法中。
- public
class TomcatListener implements ServletContextListener{ -
-
-
@Override -
public void contextDestroyed(ServletContextEvent arg0) { -
-
System.out.println("tomcat关闭了.........."); -
} -
-
-
@Override -
public void contextInitialized(ServletContextEvent arg0) { -
-
System.out.println("tomcate启动了.............."); -
} -
- }
二:在web.xml中注册该监听器。注册一个监听程序涉及在web.xml的web-app元素内放置一个listener元素。在listener元素内,listener-class元素列出监听程序的完整的限定类名,如下所示:
虽然listener元素的结构很简单,但请不要忘记,必须正确地给出web-app元素内的子元素的次序。listener元素位于所有的servlet元素之前以及所有filter-mapping元素之后。此外,因为应用生存期监听程序是serlvet规范的2.3版本中的新内容,所以必须使用web.xml DTD的2.3版本及以上,而不是2.2版本。