1.JavaWEB 中有哪些 Listener(
共8个
)。
和 域对象 生命周期相关的 Listener: ServletContextListener,HttpSessionListener,ServletRequestListener。
和 域对象 属性绑定相关的 Listener: ServletContextAttributeListener, HttpSessionAttributeListener, ServletRequestAttributeListener。
HttpSession 相关的 Listener: HttpSessionActivationListener, HttpSessionBindingListener
2. ServletContextListener:
监听 ServletContext(application 对象)创建和销毁的Lisenter.
contextInitialized: 当前 WEB 应用被服务器加载时, 被服务器调用的方法. 即 WEB 应用被服务器加载时, 创建 ServletContext 对象.
contextDestroyed: 当前 WEB 应用被服务器卸载时, 被服务器调用的方法. 即 WEB 应用被服务器卸载时, 销毁 ServletContext 对象.
使用场景: WEB 应用中使用 Spring 的时候, 会使用该监听器来创建 IOC 容器。
3.创建 ServletContextListener 的步骤
① 创建一个实现 ServletContextListener 接口的实现类
package com.guigu.javaweb.listeners;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class HelloServletContextListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("contextInitialized");
}
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("contextDestroyed");
}
}
② 在 web.xml 文件中配置该 Listener
<listener>
<listener-class>com.guigu.javaweb.listeners.HelloServletContextListener</listener-class>
</listener>