需要继承ServletContextListener接口。
代码:
package com.my; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletListener implements ServletContextListener { public ServletListener() {} // context初始化时激发 public void contextInitialized(ServletContextEvent e) { System.out.println("Servlet Initialiszed."); } // context删除时激发 public void contextDestroyed(ServletContextEvent e) { System.out.println("Servlet Destroyed."); } // 创建一个 session时激发 public void sessionCreated(HttpSessionEvent e) { System.out.println("Session Created."); } // 当一个 session失效时激发 public void sessionDestroyed(HttpSessionEvent e) { System.out.println("Session destroyed."); } // 设置 context的属性,它将激发attributeReplaced或attributeAdded方法 public void setContext(HttpSessionEvent e) { // } // 增加一个新的属性时激发 public void attributeAdded(ServletContextAttributeEvent e) { // } // 删除一个新的属性时激发 public void attributeRemoved(ServletContextAttributeEvent e) { // } // 属性被替代时激发 public void attributeReplaced(ServletContextAttributeEvent e) { // } }
web.xml的配置:
<listener> <listener-class>com.my.ServletListener</listener-class> </listener>
Servlet的Listener功能contextInitialized(...)相当于.net中的Global.cs中的Application_Start(..)