Listener开发 监听器 博客分类: Listener开发 listener 监听配置
程序员文章站
2024-03-22 15:39:52
...
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>
本章将详细介绍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>
推荐阅读
-
Listener开发 监听器 博客分类: Listener开发 listener 监听配置
-
Listener开发 监听器 博客分类: Listener开发 listener 监听配置
-
oracle的sqlnet.ora , tnsnames.ora , Listener.ora 文件的作用 博客分类: database Oracle配置管理网络协议数据结构SQL Server
-
Oracle监听器(listener)配置心得
-
Java WEB开发JSP了解及Listener监听器
-
JavaWeb开发--监听器(Listener)
-
监听器listener.ora中HOST参数配置
-
Oracle监听器(listener)配置心得
-
spring boot 配置过滤器filter, 拦截器interceptor, 监听器listener
-
Spring配置Listener监听器