使用ServletContextAttributeListener
当调用如下操作时,就会自动执行监听。
application.setAttribute("username","tom");
application.removeAttribute("username");
ServletContextAttributeListener用于监听ServletContext(application)范围内属性的变化,实现该接口的监听器需要实现如下三个方法。
attributeAdded(ServletContextAttributeEvent event):当程序把一个属性存入application范围时触发该方法。
attributeRemoved(ServletContextAttributeEvent event):当程序把一个属性从application范围删除时触发该方法。
attributeReplaced(ServletContextAttributeEvent event):当程序替换application范围内的属性时将触发该方法。
下面是一个监听ServletContext范围内属性改变的Listener。
@WebListener public class MyServletContextAttributeListener implements ServletContextAttributeListener { //当程序向application范围添加属性时触发该方法 public void attributeAdded(ServletContextAttributeEvent event) { ServletContext application = event. getServletContext(); //获取添加的属性名和属性值 String name = event.getName(); Object value = event.getValue(); System.out.println(application + "范围内添加了名为" + name + ",值为" + value + "的属性!"); } //当程序从application范围删除属性时触发该方法 public void attributeRemoved (ServletContextAttributeEvent event) { ServletContext application = event.getServletContext(); //获取被删除的属性名和属性值 String name = event.getName(); Object value = event.getValue(); System.out.println(application + "范围内名为" + name + ",值为" + value + "的属性被删除了!"); } //当application范围的属性被替换时触发该方法 public void attributeReplaced (ServletContextAttributeEvent event) { ServletContext application = event.getServletContext(); //获取被替换的属性名和属性值 String name = event.getName(); Object value = event.getValue(); System.out.println(application + "范围内名为" + name + ",值为" + value + "的属性被替换了!"); } }
上面的ServletContextAttributeListener使用了@WebListener Annotation修饰,这就是向Web应用中注册了该Listener,该Listener实现了attributeAdded、 attributeRemoved、attributeReplaced方法,因此当application范围内的属性被添加、删除、替换时,这些对应 的监听器方法将会被触发。
相关推荐
1. 下列哪个不属于监听器接口ServletContextAttributeListener提供的方法() (1分) A.public void attributeAdded(ServletContextAttributeEvent?scab) B.public void attributeRemoved...
ServletContextAttributeListener ServletContextEvent ServletContextListener ServletException ServletInputStream ServletOutputStream ServletRequest ServletRequestAttributeEvent ...
本文实例讲述了JSP监听器用法。分享给大家供大家参考...1. ServletContextAttributeListener监听对ServletContext属性的操作。比如增加,删除,修改属性。 2. ServletContextListener监听ServletContext。当创建Servle
javax.servlet.ServletContextAttributeListener javax.servlet.ServletRequestAttributeListener javax.servlet.http.HttpServletResponseWrapper javax.servlet.http.HttpSessionBindingListener javax.servlet....
javax.servlet.ServletContextAttributeListener.class javax.servlet.ServletContextAttributeEvent.class javax.servlet.ServletContextEvent.class javax.servlet.ServletContext.class javax.servlet....
attributeAdded(ServletContextAttributeEvent) - Method in interface javax.servlet.ServletContextAttributeListener Notification that a new attribute was added to the servlet context. attributeAdded...