`
stephen830
  • 浏览: 2964641 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用ServletContextAttributeListener

    博客分类:
  • java
 
阅读更多

 

 

 

使用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范围内的属性被添加、删除、替换时,这些对应 的监听器方法将会被触发。

 

 

 

分享到:
评论

相关推荐

    郑州大学软件学院机试题-2011-2012_JSP程序设计

    1. 下列哪个不属于监听器接口ServletContextAttributeListener提供的方法() (1分) A.public void attributeAdded(ServletContextAttributeEvent?scab) B.public void attributeRemoved...

    JAVA J2EE 类库文档

    ServletContextAttributeListener ServletContextEvent ServletContextListener ServletException ServletInputStream ServletOutputStream ServletRequest ServletRequestAttributeEvent ...

    JSP监听器用法分析

    本文实例讲述了JSP监听器用法。分享给大家供大家参考...1. ServletContextAttributeListener监听对ServletContext属性的操作。比如增加,删除,修改属性。 2. ServletContextListener监听ServletContext。当创建Servle

    servlet-api-2.4.jar.zip

    javax.servlet.ServletContextAttributeListener javax.servlet.ServletRequestAttributeListener javax.servlet.http.HttpServletResponseWrapper javax.servlet.http.HttpSessionBindingListener javax.servlet....

    javax.servlet.jar下载

    javax.servlet.ServletContextAttributeListener.class javax.servlet.ServletContextAttributeEvent.class javax.servlet.ServletContextEvent.class javax.servlet.ServletContext.class javax.servlet....

    servlet2.4doc

    attributeAdded(ServletContextAttributeEvent) - Method in interface javax.servlet.ServletContextAttributeListener Notification that a new attribute was added to the servlet context. attributeAdded...

Global site tag (gtag.js) - Google Analytics