SSM-回炉重造-三大组件之监听器
servlet
filter
listener
八个监听器(3类)
监听ServletContext事件
ServletContextListener:
作用:监听
ServletContext
生命周期(从创建到销毁的过程[服务器启动创建->销毁]).ServletContextAttributeListener:
作用:监听
ServletContext
域中的属性变化四域对象: pageContext->request->session->application
作用范围从小到大
监听HttpSession事件
HttpSessionListener:
作用:监听
HttpSession
的生命周期(session第一次使用的时候创建)session销毁时机:
- session超时
- 手动失效(
invalidate()
)
HttpSessionAttributeListener:
作用:监听所有对象在
HttpSession
域中属性变化HttpSessionActivitionListener:
作用:监听某个对象随着HttpSession活化钝化
HttpSessionBindingListener:
作用:监听某个对象保存(绑定)到session中和从session中一处(解绑)
其中
HttpSessionActivitionListener
和HttpSessionBindingListener
不需要在web.xml中注册监听ServletRequest事件
ServletRequestListener:
作用:监听request对象的生命周期(请求进来创建新的request保存请求的详细信息,请求完成销毁request对象)
ServletRequestAttributeListener
作用:监听request域中的属性变化
监听器生效步骤
写某个具体监听器的实现类
public class MyServletContextListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { ServletContext servletContext = sce.getServletContext(); System.out.println("contextInitialized()....."+ servletContext); } @Override public void contextDestroyed(ServletContextEvent sce) { System.out.println("contextDestroyed()....."); } }
在
web.xml
中进行注册<listener> <listener-class>com.oylong.listener.MyServletContextListener</listener-class> </listener>