1.spring实现了这个接口
当Servlet容器启动或终止Web应用时,会触发ServletContextEvent事件,该事件由 ServletContextListener 来处理
ServletContextListener 接口中定义了处理ServletContextEvent事件的两个方法
ServletContextListener:用于监听WEB 应用启动和销毁的事件,监听器类需要实现javax.servlet.ServletContextListener 接口
/**
* Initialize the root web application context.
*/
public void contextInitialized(ServletContextEvent event) {
this.contextLoader = createContextLoader();
if (this.contextLoader == null) {
this.contextLoader = this;
}
this.contextLoader.initWebApplicationContext(event.getServletContext());
}
/**
* Close the root web application context.
*/
public void contextDestroyed(ServletContextEvent event) {
if (this.contextLoader != null) {
this.contextLoader.closeWebApplicationContext(event.getServletContext());
}
ContextCleanupListener.cleanupAttributes(event.getServletContext());
}
ServletContextListener接口有两方需要实现的方法:contextInitialized()和contextDestroyed();
当servlet容器启动的时候,它会监听Servlet容器,当应用开始的时候它会调用contextInitialized()方法,所以里面储存了所有信息;当应用关闭的时候,它同样会调用contextDestroyed()方法.