Loading... # SSM-回炉重造-三大组件之监听器 ### servlet ### filter ### listener #### 八个监听器(3类) - 监听ServletContext事件 1. ServletContextListener: 作用:监听`ServletContext`生命周期(从创建到销毁的过程[服务器启动创建->销毁]). 2. ServletContextAttributeListener: 作用:监听`ServletContext`域中的属性变化 > 四域对象: pageContext->request->session->application > > 作用范围从小到大 - 监听HttpSession事件 1. HttpSessionListener: 作用:监听`HttpSession`的生命周期(session第一次使用的时候创建) > session销毁时机: > > 1. session超时 > 2. 手动失效(`invalidate()`) 2. HttpSessionAttributeListener: 作用:监听所有对象在`HttpSession`域中属性变化 3. HttpSessionActivitionListener: 作用:监听某个对象随着HttpSession活化钝化 4. HttpSessionBindingListener: 作用:监听某个对象保存(绑定)到session中和从session中一处(解绑) 其中`HttpSessionActivitionListener`和`HttpSessionBindingListener`不需要在web.xml中注册 - 监听ServletRequest事件 1. ServletRequestListener: 作用:监听request对象的生命周期(请求进来创建新的request保存请求的详细信息,请求完成销毁request对象) 2. ServletRequestAttributeListener 作用:监听request域中的属性变化 #### 监听器生效步骤 1. 写某个具体监听器的实现类 ````java 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()....."); } } ```` 2. 在`web.xml`中进行注册 ````xml <listener> <listener-class>com.oylong.listener.MyServletContextListener</listener-class> </listener> ```` 最后修改:2020 年 10 月 18 日 11 : 14 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 ×Close 赞赏作者 扫一扫支付 支付宝支付 微信支付