- 浏览: 426467 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
xiesbao:
找到了,太坑爹了。
Intellij Idea 滚动条跳动的问题 -
hvang1988:
按照你说的例子,主备说的是dbtest1,dbtest2,db ...
阿里开源Mysql分布式中间件:Cobar -
hvang1988:
问个问题:一个数据库的表的全部数据只分布在一个cobar上。多 ...
阿里开源Mysql分布式中间件:Cobar -
SiKing:
多谢,一直被这个问题困扰
Intellij Idea 滚动条跳动的问题 -
guodage003:
多谢 解决了这个蛋疼的问题。。
Intellij Idea 滚动条跳动的问题
Servlet API提供了基本的应用程序事件监听器接口。编程者可以通过实现这些接口来使用管理事件的功能。Servlet2.4以后提供了对以下对象的事件监听:ServletContext,HttpSession,ServletRequest。监听ServletContext可以使Web程序得知整个应用程序载入和卸载等运行情况。监听HttpSession可以Web程序了解应用程序会期间的状况并作出响应。监听ServletRequest可以使Web程序控制Web请求的生命周期。
下面结合JavaServetAPI官方文档对各个事件监听器接中进行说明。
一、ServletContextListener
所在包:javax.servlet
接口声明:public interface ServletContextListener extends java.util.EventListener
方法:
1.void contextDestroyed(ServletContextEvent sce)
当应用被卸载后触发执行该方法中的代码。
2.void contextInitialized(ServletContextEvent sce)
当应用在初始化时触发执行该方法中的代码。
这里需要对ServletContentEvent说明一下,它是一个ServletContext对象的事件,其类的声明如下:
public class ServletContentEvent extends java.util.EventObject
包含方法:ServletContext getServletContext(),返回事件的Servlet上下文,即产生事件的当前应用程序。
二、ServletContextAttributeListener
所在包:javax.servlet
接口声明:public interface ServletContextAttributeListener
extends java.util.EventListener
方法:
1. void attributeAdded(ServletContextAttributeEvent scab)
当一个新的属性加入到Servlet的上下文中后触发该方法中的代码。
2.void attributeRemoved(ServletContextAttributeEvent scab)
当一个属性被从servlet的上下文中移走后触发该方法中的代码。
3.void attributeReplaced(ServletContextAttributeEvent scab)
当servlet上下文中的一个属性的值被替换后触发该方法中的代码。
ServletContextAttributeEvent是servlet上下文里的属性的事件,其类声明如下:
public class ServletContextAttributeEvent
extends ServletContextEvent
包含方法:String GetName(),返回产生事件的属性名称;Object GetValue(),返回产生事件的属性的值。
三、HttpSessionListener
所在包:javax.servlet
接口声明:public interface HttpSessionListener
extends java.util.EventListener
方法:
1.void sessionCreated(HttpSessionEvent se)
当一个会话被创建后触发执行该方法中的代码。
2.void sessionDestroyed(HttpSessionEvent se)
当一个会话被释放后触发执行该方法中的代码。
HttpSessionEvent是会话事件类,其声明如下:
public class HttpSessionEvent
extends java.util.EventObject
包含方法:HttpSession getSession(),返回产生事件的session对象。
四、HttpSessionActivationListener
所在包:javax.servlet
接口声明:public interface HttpSessionActivationListener
extends java.util.EventListener
方法:
1.void SessionDidActivate(HttpSessionEvent se)
2.void SessionWillPassivate(HttpSessionEvent se)
Activate与Passivate是用于置换对象的动作,当session对象为了资源利用或负载平衡等原因而必须暂时储存至硬盘或其它储存器时(透过对象序列化),所作的动作称之为Passivate,而硬盘或储存器上的session对象重新加载JVM时所采的动作称之为Activate。
五、HttpSessionAttributeListener
所在包:javax.servlet
接口声明:public interface HttpSessionAttributeListener
extends java.util.EventListener
方法:
1.void attributeAdded(HttpSessionBindingEvent se)
2.void attributeReplaced(HttpSessionBindingEvent se)
3.void attributeRemoved(HttpSessionBindingEvent se)
以上三个方法分别在会话属性被加入、会话属性值被修改和会话属性被移除时触发执行。
HttpSessionBindingEvent是一个会话事件对象类,其声明如下:
public interface HttpSessionBindingListener
extends java.util.EventListener
包含方法:String getName(),返回产生当前事件的会话的属性名。Object getValue(),返回产生当前事件的会话的属性值。HttpSession getSession(),返回产生当前事件的会话对象。
六、HttpSessionBindingListener(唯一一个不用在web.xml中配置的监听器)
所在包:javax.servlet
接口声明:public interface HttpSessionBindingListener
extends java.util.EventListener
方法:
1.void valueBound(HttpSessionBindingEvent event)
当实现HttpSessionBindingListener接口的对象被绑定到Session Attribute中,该对象的此方法被执行。
2.void valueUnbound(HttpSessionBindingEvent event)
当实现HttpSessionBindingListener接口的对象被从Session Attribute解除绑定,该对象的此方法被执行。
请注意HttpSessionAttributeListener与HttpSessionBindingListener的区别:
1.前者是需要在web.xml中进行描述的,后者不需要。
2.前者是在任何session的属生变化时都会触发执行其方法中的代码,而后者只是在实现它的对象被绑定到会话属性或被从会话属生中解除绑定时,才会触发执行那个对象的valueBound和valueUnboundy这两个方法的代码。比如说有两个对象A和B都实现了HttpSessionBindingListener接口,当A被绑定到会话属性中时,只是A的valueBound()方法被触发执行。
七、ServletRequestListener
所在包:javax.servlet
接口声明:public interface ServletRequestListener
extends java.util.EventListener
方法:
1.void RequestDestroyed(ServletRequestEvent evt)
2.void RequestInitialized(ServletRequestEvent evt)
以上两个方法分别在ServetRequest对象初始化和清除时触发执行。
ServletRequestEvent表示ServletReuest事件类,其声明如下:
public class ServletRequestEvent
extends java.util.EventObject
包含方法:ServletContext getServletContext(),获得当前Web应用程序的上下文对象。ServletRequest getServletRequest(),获得当前事件的主体,ServletRequest对象。
八、ServletRequestAttributeListener
所在包:javax.servlet
接口声明:public interface ServletRequestAttributeListener
extends java.util.EventListener
方法:
1.void attributeAdded(ServletRequestAttributeEvent e)
当向ServlvetRequest对象属性中添加属性后触发执行该方法。
2.void attributeRemoved(ServletRequestAttributeEvent e)
当向ServlvetRequest对象属性中移除属性后触发执行该方法。
3.void attributeReplaced(ServletRequestAttributeEvent e)
当修改ServlvetRequest对象属性的属生值后触发执行该方法。
ServletRequestAttributeEvent是ServletRequest属性事件类,其声明如下:
public class ServletRequestAttributeEvent
extends ServletRequestEvent
包含方法:String getName(),获得触发事件的属性的名称。Object getValue(),获得触发事件的属生的值。
下面说明如何在web.xml中布署事件监听器以实现对事件的处理,格式如下:
<listener>
<listener-class>
fey.servlet.listener.CustomServletContextListener
</listener-class >
</listener>
其中fey.servlet.listener.CustomServletContextListener是实现上述各事件监听器接口的类名。当然,你需要将这些类放入Web容器的Web应用的classes或lib目录下以让Web容器可以找到。
另外说明一点,一个类可以一个或多个监听器接口。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/truexf/archive/2006/10/12/1331853.aspx
发表评论
-
深入理解Java内存模型
2014-11-08 16:54 998深入理解Java内存模型(一)——基础深入理 ... -
阿里开源Mysql分布式中间件:Cobar
2014-08-12 11:54 64383这几天研究 ... -
今日开源介绍:Google Guava、Google Guice、Joda-Time
2014-08-11 11:55 18203一、Guava 是一个 Google 的基于java1.6的 ... -
Jackson 动态过滤属性
2014-06-20 16:15 3000在把java对象转换为json时,有时需要依据需求动态过滤掉 ... -
自实现CAS原理JAVA版,模拟下单库存扣减
2014-04-02 17:47 7024在做电商系统时,库存 ... -
JAVA逻辑判断工具类
2013-09-06 21:33 1708在开发过程中,经常需要对“对象”、Map、Collecti ... -
JSP页面编译成Servlet类文件过程中所涉及到的编码问题
2011-02-23 12:16 2854当请求一个JSP页面时,一般的都需要经历下面几个阶段: 1 ... -
Java中的字符集编码入门(六)Java中的增补字符
2011-02-23 12:11 1447Java号称对Unicode提 ... -
Java中的字符集编码入门(五)Java代码中的字符编码转换
2011-02-23 12:08 1122如果你是JVM的设计者,让你来决定JVM中所有字符的表 ... -
Java中的字符集编码入门(四)网页文件的编码
2011-02-23 12:03 1083接着上节的思路说,一个网页要想在浏览器中能够正确显示,需要在三 ... -
Java中的字符集编码入门(三)GB2312,GBK与中文网页
2011-02-23 12:02 1243GB2312是对中国的开发人员来说很重要的一个词汇,它的来龙去 ... -
Java中的字符集编码入门(二)编码字符集与字符集编码的区别
2011-02-23 12:01 907需要再一次强调的是, ... -
Java中的字符集编码入门(一)Unicode与UCS的历史恩怨
2011-02-23 11:59 1032ASCII及相关标准 ... -
方便管理工程中的SQL语句
2010-10-13 17:13 1792引用 之前在项目开发时候,经理要求把所有的SQL语句挑出 ... -
常见通信名称缩写解释
2010-09-03 16:05 2302引用 在看新闻时,购买手机时,经常听到关于通信方面的一 ... -
飞信维脉系统(定时短息发送系统)
2010-08-01 21:27 1564引用 因为工作原因 ... -
HTTP协议介绍
2010-07-28 09:45 798引用 HTTP(HyperTextTransferPro ... -
Java调用存储过程举例
2010-07-23 18:22 888Java调用oracle存储过程的示例总结如下。 ... -
Oracle数据库链接池
2010-04-13 17:28 1985引用 很多时候我们都要操作数据库,高效数据库操作的第一步 ... -
不区分大小写查找字符串(二)
2010-03-25 20:56 2284引用 上次发表了自己编写不区分大小查找的方法,这次使用了 ...
相关推荐
\ch12\* 第12章 使用Servlet2.4过滤器和监听器所有例程代码 \ch13\* 第13章 数据库访问:JDBC所有例程代码 \ch14\* 第14章 用户注册登录模块所有例程代码 \ch15\* 第15章 购物车模块所有例程代码 \ch16\* 第16...
1.6.1 监听器(Listener)顺序 ...............................................................................................................14 1.6.2 注解处理 .............................................
1.6.1 监听器(Listener)顺序 ...............................................................................................................14 1.6.2 注解处理 ...............................................
14章 使用Servlet过滤器和监听器 15章 JSP Web应用的安全性 16章 Tomcat容器的JSP 17章 在JSP中使用Hibernate实现数据持久化 18章 JSP Web应用的设计与实践 19章 MVC模式实现----Struts2 20章 MVC模式实现----...
第7章 过滤器与监听器技术 239 7.1 Servlet过滤器 240 7.2 监听器的应用 262 第8章 JSTL标签库 267 8.1 JSTL Core标签库 268 8.2 JSTL I18N标签库 275 第9章 JavaScript技术 283 9.1 数据验证 284 9.2 字符串处理 ...
第7章 过滤器与监听器技术 239 7.1 Servlet过滤器 240 7.2 监听器的应用 262 第8章 JSTL标签库 267 8.1 JSTL Core标签库 268 8.2 JSTL I18N标签库 275 第9章 JavaScript技术 283 9.1 数据验证 284 9.2 字符串处理 ...
22.1.2 异步请求监听器Async-Listener284 22.2 Spring MVC中的异步请求286 22.2.1 Spring MVC中异步请求相关组件286 22.2.2 Spring MVC对异步请求的支持297 22.2.3 WebAsyncTask和Callable类型异步请求的处理...
2.4 properties配置文件乱码问题 24 2.5 @ConfigurationProperties与@Value的区别 25 2.6 配置@PropertySource、@ImportResource、@Bean 27 2.7 配置文件占位符 30 2.8 Profile多环境支持 31 2.9 配置文件的加载位置...
3.2.6 匿名内部类作为事件监听器类 154 3.2.7 直接绑定到标签 155 3.3 基于回调的事件处理 156 3.3.1 回调机制与监听机制 156 3.3.2 基于回调的事件传播 158 3.3.3 重写onTouchEvent方法响应 触摸屏...
9.11.4、监听器实例 —— 在线人员统计 9.12、本章摘要 9.13、开发实战讲解(基于Oracle数据库) 第10章 表达式语言 10.1、表达式语言简介 10.2、表达式语言的内置对象 10.2.1、访问四种属性范围的内容 ...
9.11.4、监听器实例 —— 在线人员统计 9.12、本章摘要 9.13、开发实战讲解(基于Oracle数据库) 第10章 表达式语言 10.1、表达式语言简介 10.2、表达式语言的内置对象 10.2.1、访问四种属性范围的内容 ...
9.11.4、监听器实例 —— 在线人员统计 9.12、本章摘要 9.13、开发实战讲解(基于Oracle数据库) 第10章 表达式语言 10.1、表达式语言简介 10.2、表达式语言的内置对象 10.2.1、访问四种属性范围的内容 ...
9.11.4、监听器实例 —— 在线人员统计 9.12、本章摘要 9.13、开发实战讲解(基于Oracle数据库) 第10章 表达式语言 10.1、表达式语言简介 10.2、表达式语言的内置对象 10.2.1、访问四种属性范围的内容 ...
9.11.4、监听器实例 —— 在线人员统计 9.12、本章摘要 9.13、开发实战讲解(基于Oracle数据库) 第10章 表达式语言 10.1、表达式语言简介 10.2、表达式语言的内置对象 10.2.1、访问四种属性范围的内容 ...
9.11.4、监听器实例 —— 在线人员统计 9.12、本章摘要 9.13、开发实战讲解(基于Oracle数据库) 第10章 表达式语言 10.1、表达式语言简介 10.2、表达式语言的内置对象 10.2.1、访问四种属性范围的内容 ...
9.11.4、监听器实例 —— 在线人员统计 9.12、本章摘要 9.13、开发实战讲解(基于Oracle数据库) 第10章 表达式语言 10.1、表达式语言简介 10.2、表达式语言的内置对象 10.2.1、访问四种属性范围的内容 ...
9.11.4、监听器实例 —— 在线人员统计 9.12、本章摘要 9.13、开发实战讲解(基于Oracle数据库) 第10章 表达式语言 10.1、表达式语言简介 10.2、表达式语言的内置对象 10.2.1、访问四种属性范围的内容 ...
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 ...
2.4. 中间层 2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. 对Websphere 事务管理的完整支持 2.4.3. JPA 2.4.4. 异步的JMS 2.4.5. JDBC 2.5. Web层 2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 ...