`
stephen830
  • 浏览: 3010149 次
  • 性别: 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范围内的属性被添加、删除、替换时,这些对应 的监听器方法将会被触发。

 

 

 

分享到:
评论

相关推荐

    关于过滤器和监听器的使用模板

    4. **ServletContextAttributeListener**:监听上下文属性的变化。 5. **HttpSessionAttributeListener**:监听session中属性的添加、移除和替换。 监听器通过实现特定的监听器接口,并在web.xml中声明注册,或者...

    10.Listener.doc

    Listener 示例</title> </head> <body> ServletContext context = getServletContext(); context.setAttribute("key", "value");...通过正确地使用监听器,我们可以实现更高效、更健壮的应用程序。

    Web系统与技术--实验十.pdf

    综合以上内容,可以理解为:Web系统与技术实验十的核心在于学习和实践Java Servlet技术,特别是与Web应用环境相关的高级特性,比如监听器的使用、会话管理、Web应用的初始化和销毁过程等。通过这些实验,学习者能够...

    JAVA培训Servlet监听器.pdf

    ServletContextAttributeListener用于监听WEB应用属性改变的事件,包括:增加属性、删除属性、修改属性,监听器类需要实现javax.servlet.ServletContextAttributeListener接口。 SessionListener SessionListener...

    深入学习JavaWeb中监听器(Listener)的使用方法

    在JavaWeb开发中,监听器(Listener)是JavaServlet API的一部分,用于监控应用程序或Web容器中的特定事件。这些事件可能包括用户会话的创建、...通过理解并正确使用监听器,可以提高JavaWeb应用的健壮性和可维护性。

    servlet监听器

    - 监听域对象属性增加和删除的事件监听器:例如ServletContextAttributeListener、HttpSessionAttributeListener和ServletRequestAttributeListener,用于监听域对象中属性的添加、移除和替换事件。 - 监听绑定到...

    Servilet概述

    ServletContextAttributeListener 接口定义了三个方法 attributeAdded、attributeRemoved 和 attributeReplaced,分别在给 ServletContex 添加属性值、删除属性值和替换属性值时触发。 下面是一个基于 Application ...

    清华ITjsp课件8

    通过理解和熟练使用这些监听器,开发者可以提高应用的性能、稳定性和安全性,从而提升整体的用户体验。在实际开发中,结合适当的日志记录和错误处理,这些监听器可以成为诊断问题和优化系统的关键工具。

    SSH集成Servlet监听

    例如,`ServletContextAttributeListener`、`HttpSessionAttributeListener`和`ServletRequestAttributeListener`分别监听ServletContext、HttpSession和ServletRequest对象中属性的变化。 3. **编写Servlet监听器*...

    21天搞定JAVA.docx

    ServletContextListener、ServletContextAttributeListener、HttpSessionListener和HttpSessionAttributeListener则帮助监控和响应Web应用程序的特定事件。 【DAO与MVC框架】 第三周,你将学习Data Access Object ...

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

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

    JAVA Servlet监听器listener学习资料

    - `ServletContextAttributeListener`: 监听ServletContext中属性的增删改事件,可以用来记录日志、初始化全局变量等。 - `ServletContextListener`: 监听ServletContext的创建与销毁,通常用于初始化和清理资源,...

    完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx

    - **Servlet上下文监听器**:监听ServletContext对象的创建、销毁以及属性的变动,例如实现`ServletContextListener`和`ServletContextAttributeListener`接口。 - **会话监听器**:监控HttpSession对象的创建、...

    Servlet监听器

    - `ServletContextAttributeListener`:监听`ServletContext`中属性的变化,包括添加、移除和替换属性的事件。 - `ServletRequestListener`和`ServletRequestAttributeListener`:分别监听HTTP请求的创建和销毁,...

    快速学习JavaWeb中监听器(Listener)的使用方法

    - **Servlet容器初始化参数监听器**(ServletContextAttributeListener):监听Servlet上下文属性的添加、修改和移除。 - **过滤器监听器**(FilterRegistrationListener):监听过滤器的注册和移除。 - **组件...

    Java的监听器种类

    1. **`ServletContextAttributeListener`** - **功能**:监听`ServletContext`属性的变化。 - **方法**: - `attributeAdded(ServletContextAttributeEvent e)`:当向`ServletContext`中添加新属性时被调用。 -...

    监听器.pdf

    * ServletContextAttributeListener:监听ServletContext域对象中的属性的添加、替换、移除。 * HttpSessionAttributeListener:监听HttpSession域对象中的属性的添加、替换、移除。 * ...

    JAVA J2EE 类库文档

    ServletContextAttributeListener ServletContextEvent ServletContextListener ServletException ServletInputStream ServletOutputStream ServletRequest ServletRequestAttributeEvent ...

    ServletContex 的全局属性设置

    - **事件监听**:通过实现 `ServletContextAttributeListener` 接口,监听属性的添加、修改和移除。 - **会话管理**:当会话范围不足以存储数据时,可以使用全局属性作为会话数据的备份。 - **日志记录**:存储统计...

Global site tag (gtag.js) - Google Analytics