`

Listener开发 监听器

阅读更多
Listener开发
本章将详细介绍Listener的定义和作用,还将介绍如何配置Listener。将介绍Listener的分类以及常用的Listener,如ServletContext Listener和HttpSession Listener。
通过本章的学习,读者应该能够完成如下几个目标。
熟练掌握如何定义并配置Listener
熟练掌握ServletContextListener接口的实现和作用
熟练掌握ServletContextAttributeListener接口的实现和作用
熟练掌握HttpSessionListener接口的实现和作用
熟练掌握HttpSessionAttributeListener接口的实现和作用

1 Listener简介
Listener的中文译名为监听器,从字面上可以看出Listener主要用来监听之用。通过Listener可以监听容器中某一执行动作,并根据其要求做出相应的响应。
到目前Servlet 2.4开始,一共包含八个Listener接口,可以将其分为三类,分别如下。
第一类:与ServletContext有关的Listener接口。
包括两个Listener接口,分别是ServletContextListener和ServletContextAttributeListener。
第二类:与HttpSession有关的Listener接口。
包括四个Listener接口,分别是HttpSessionListener、HttpSessionAttributeListener、HttpSessionBindingListener和HttpSessionActivationListener。
第三类:与ServletRequest有关的Listener接口。
包括两个Listener接口,分别是ServletRequestListener和ServletRequestAttributeListener。

2 ServletContext Listener
      ServletContext Listener包含两个Listener接口,分别是ServletContextListener和ServletContextAttributeListener。其中ServletContextListener接口用来实现ServletContext的启动和销毁监听;ServletContextAttributeListener接口用来实现application范围属性变化的监听。

2.1 ServletContextListener接口
      ServletContextListener接口用来实现ServletContext的启动和销毁监听。该接口中包含两个方法,一个是contextInitialized()方法,用来监听ServletContext的启动和初始化;一个是contextDestroyed()方法,用来监听ServletContext的销毁。在这两个方法中还包含一个参数sce,其类型为ServletContextEvent。通过ServletContextEvent对象的 getServletContext()方法可以获得ServletContext对象。

2.2 ServletContextAttributeListener接口
      ServletContextAttributeListener接口用来实现application范围属性变化的监听。该接口中包含三个方法,一个是attributeAdded()方法,用来监听application范围属性的添加;一个是attributeReplaced()方法,用来监听application范围属性的替换;一个是attributeRemoved()方法,用来监听application范围属性的移除。在这两个方法中还包含一个参数scab,其类型为ServletContextAttributeEvent。通过ServletContextAttributeEvent对象的getName()方法可以获得属性的名称;通过ServletContextAttributeEvent对象的getValue()方法可以获得属性的值。

3 HttpSession Listener
     HttpSession Listener包含四个Listener接口,分别是HttpSessionListener、HttpSessionAttributeListener、HttpSessionBindingListener和HttpSessionActivationListener。其中HttpSessionListener接口用来实现sesion的初始化和销毁监听;HttpSessionAttributeListener接口用来实现session范围属性变化的监听。

3.1 HttpSessionListener接口
     HttpSessionListener接口用来实现session的初始化和销毁监听。该接口中包含两个方法,一个是sessionCreated()方法,用来监听session的创建和初始化;一个是sessionDestroyed()方法,用来监听session的销毁。在这两个方法中还包含一个参数se,其类型为HttpSessionEvent。通过HttpSessionEvent对象的getSession()方法可以获得session对象。

3.2 HttpSessionAttributeListener接口
      HttpSessionAttributeListener接口用来实现session范围属性变化的监听。该接口中包含三个方法,一个是attributeAdded ()方法,用来监听session范围属性的添加;一个是attributeReplaced()方法,用来监听session范围属性的替换;一个是attributeRemoved()方法,用来监听session范围属性的移除。在这三个方法中还包含一个参数se,其类型为HttpSessionBindingEvent。通过HttpSessionBindingEvent对象的getName()方法可以获得属性的名称;通过ServletContextAttributeEvent对象的getValue()方法可以获得属性的值。


类似 web.xml 配置
1 日志监听
<listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>classpath:log4j.properties</param-value>
    </context-param>
    <context-param>
        <param-name>log4jExposeWebAppRoot</param-name>
        <param-value>false</param-value>
    </context-param>

2 上下文监听
<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:biz-context.xml
            classpath:biz-context-ems.xml
            classpath:security.xml
            classpath:web-context-ems.xml
         </param-value>
    </context-param>

分享到:
评论

相关推荐

    JavaWeb开发技术-Listener监听器.pptx

    Listener监听器 JavaBean Servlet Jsp XML HTML JAVA WEB开发技术 Listener监听器 事件监听器用于对程序中发生的事件进行监听,在监听的过程中会涉及几个重要组成部分: 事件(Event) 事件源 事件处理器 事件监听器...

    ProductivityToolkit-Unity事件监听器系统插件

    ProductivityToolkit-Unity事件监听器系统插件 Unity事件监听器系统 直观且快速地设置自定义事件,用于减少对象依赖的常见方法!几乎没有额外的代码来结构化游戏逻辑,可以通过拖放在检查器中处理事件订阅,可以在...

    深入探索Spring事件监听机制:技术与应用

    这种机制基于观察者模式,由事件(ApplicationEvent)、事件监听器(ApplicationListener)和事件广播器(ApplicationEventMulticaster)三个主要组成部分构成。 事件是发生的动作或事情,其核心是ApplicationEvent...

    JAVA EE 开发手册.CHM

    JAVA EE 开发手册 JavaEE是一个开放的、 基于标准的平台,用以开发、部署和管理N层结构、面向Web的,以服务器为中心的企业级应用。 JavaEE的具有可扩展性、性能和可靠性。...8、监听器Listener 9、注解( Annotation)

    使用事件侦听器和 MATLAB UI 进行 Simulink 信号查看。:此演示展示了如何使用模块侦听器在 MATLAB 用户界面中查看模型信号。-matlab开发

    (实现此目的的主要函数称为 add_exec_event_listener。) 该模型既可以作为标准模拟执行,也可以在构建到通用实时目标中后执行(对于那些拥有 RTW 许可证的用户)。 在后一种情况下,RTW 的外部模式和 TCP/IP ...

    Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)

    第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...

    Java Web整合开发王者归来(共4部分含源代码)part2

    第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...

    Java.Web整合开发王者归来.pdf

    第2篇为基础篇,内容包括servlet技术、jsp技术、会话跟踪、过滤器filter、监听器listener等;第3篇为高级篇,内容包括jstl标签库的使用、如何自定义标签、资源国际化、数据库概述、jdbc详解、xml概述等;第4篇为...

    Web应用与开发作业

    1、Filter的理解和应用 实现一个禁止缓存的过滤器。 要求和提示: (1)禁止浏览器缓存所有动态页面;...通过监听器记录在线用户的姓名,在页面进行用户姓名的显示,同时实现对某个用户的强制下线功能。

    HerosPHP(PHP MVC开发框架) v3.0.1.zip

    HerosPHP是一个免费开源的,快速、优雅的面向对象的 轻量级PHP MVC开发框架。...4、重要: 给监听器(Listener)新增了skinUrl()接口,用来过滤不需要监听的请求 URI 相关阅读 同类推荐:站长常用源码

    javaweb详细笔记,绝对详细(内含代码)

    javaweb ...知识点 Javascript知识点 jQuery知识点 14 Bootstrap知识点 17 JDBC & 配置文件 & 连接池 19 Xml文档及解析 31 反射 33 ...JavaWeb核心之Servlet 41 ...监听器Listener 74 邮箱服务器 79 过滤器Filter

    Java Spring框架面试题大全

    开发者可以自定义事件类和事件监听器,并通过应用程序上下文的publishEvent方法来发布事件,Spring框架会自动分发事件给所有对该事件感兴趣的监听器进行处理。事件监听机制帮助开发者更好地解耦代码,提高应用程序的...

    老杜javaweb教程配套资料JavaEE帮助文档分享

    主要内容包括:Servlet、JSP、EL表达式、JSTL标签库、Filter过滤器、Listener监听器。在讲解过程中采用的手法是从0到1,让小白学会源码分析,让大牛眼前一亮。总之,不管你是小白,还是已经在从事Java开发的工作者,...

    Java Web整合开发王者归来

    第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...

    Java Web整合开发王者归来(共4部分含源代码)part1

    第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    3.1.7 将监听器绑定到Bean属性 130 3.2 JSF的国际化支持 132 3.2.1 加载国际化资源文件 132 3.2.2 使用国际化消息 134 3.2.3 动态数据国际化 137 3.2.4 让用户选择语言 142 3.3 使用转换器完成类型转换 143 3.3.1 ...

    Java.Web整合开发王者归来.part04.rar

    第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...

    Java.Web整合开发王者归来.part02.rar

    第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...

    Java.Web整合开发王者归来.part05.rar

    第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...

    Java.Web整合开发王者归来.part03.rar

    第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...

Global site tag (gtag.js) - Google Analytics