Web应用生命周期
ServletContextListener
监听 ServletContext 对象的生命周期,就是监听 Web 应用的生命周期。当Servlet 容器启动或终止Web 应用时,会触发ServletContextEvent 事件,该事件由ServletContextListener 来处理。
在 ServletContextListener 接口中定义了处理ServletContextEvent 事件的两个方法。
/**
* 当Servlet 容器启动Web 应用时调用该方法。在调用完该方法之后,容器再对Filter 初始化,
* 并且对那些在Web 应用启动时就需要被初始化的Servlet 进行初始化。
*/
contextInitialized(ServletContextEvent sce)
/**
* 当Servlet 容器终止Web 应用时调用该方法。在调用该方法之前,容器会先销毁所有的Servlet 和Filter 过滤器。
*/
contextDestroyed(ServletContextEvent sce)
ServletContextAttributeListener
该接口用于监听ServletContext范围(application)内属性的改变。
该接口的方法:
attributeAdded(ServletContextAttributeEvent event); // 当把一个属性存进application时触发
attributeRemoved(ServletContextAttributeEvent event); // 当把一个属性从application删除时触发
attributeReplaced(ServletContextAttributeEvent event); // 当替换application内的某个属性值时触发
Request对象监听
ServletRequestListener
ServletRequestListener用于监听用户请求,ServletRequestListener两个需要实现的方法 :
requestInitialized(ServletRequestEvent event); //用户请求到达、被初始化时触发
requestDestroyed(ServletRequestEvent event); // 用户请求结束、被销毁时触发
ServletRequestAttributeListener
ServletRequestAttributeListener用于监听request范围内属性的变化,ServletRequestAttributeListener两个需要实现的方法:
attributeAdded(ServletRequestAttributeEvent event); // 向request范围内添加属性时触发
attributeRemoved(ServletRequestAttributeEvent event); // 从request范围内删除某个属性时触发
attributeReplaced(ServletRequestAttributeEvent event); // 替换request范围内某个属性值时触发
Session对象监听
HttpSessionListener
HttpSessionListener监听用户session的开始与结束,HttpSessionListener要实现的方法:
sessionCreated(HttpSessionEvent event); // 用户与服务器的会话开始、创建时触发
sessionDestroyed(HttpSessionEvent event); // 用户与服务器的会话结束时触发
HttpSessionAttributeListener
HttpSessionAttributeListener监听HttpSession范围(session)内的属性的改变,HttpSessionAttributeListener要实现的方法:
attributeAdded(HttpSessionBindingEvent event) ; // 向session范围内添加属性时触发
attributeRemoved(HttpSessionBindingEvent event); // 删除session范围内某个属性时触发
attributeReplaced(HttpSessionBindingEvent event); // 替换session范围内某个属性值时触发