《Java EE 7精粹》—— 2.3 事件监听器-阿里云开发者社区

开发者社区> 异步社区> 正文

《Java EE 7精粹》—— 2.3 事件监听器

简介: 事件监听器提供对ServletContext、HttpSession和ServletRequest对象生命周期的回调事件。这些监听器实现了支持上述对象状态变化事件通知的接口类。每个类可以通过@WebListener注解定义或者在web.xml中声明,抑或通过ServletContext. addListener()方法注册。
+关注继续查看

本节书摘来异步社区《Java EE 7精粹》一书中的第2章,第2.3节,作者:【美】Arun Gupta,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.3 事件监听器

事件监听器提供对ServletContext、HttpSession和ServletRequest对象生命周期的回调事件。这些监听器实现了支持上述对象状态变化事件通知的接口类。每个类可以通过@WebListener注解定义或者在web.xml中声明,抑或通过ServletContext. addListener()方法注册。一个典型的监听器例子是以编程方式注册一个额外的Servlet而没有明确要求程序员这样做,或者应用程序级别的数据库连接的初始化和恢复。

可以有多个监听器类来监听每种事件类型,他们可能会在其中的容器指定顺序来为每个事件类型调用监听器Bean。在应用程序关闭期间,以相反的顺序通知这些监听器。

Servlet上下文监听器用于监听该上下文中资源的事件:

769d97a48f513bc699488ce5d9dd57d77dcbfbc7

ServletContextAttributeListener用于监听上下文属性的变化:

fd46a2512740a501e546aa96570c3b64a2195d3e

HttpSessionListener监听Session中资源的事件:

03a0e4cb3d1cfe3f56361cff6c8ac0e2248c287f

HttpSessionActivationListener用于监听Session被钝化或激活的事件:

d259f844c56c95deeaf06abddd5a3caefc7ad3c8

HttpSessionAttributeListener用于监听Session属性的变化:

1e15aa6552eafe118c1768fb92034beea01ec2eb

HttpSessionBindingListener用于监听Session绑定和松绑对象的事件:

044baa778270d541f7828425ab7207b59ba7668a

ServletRequestListener监听Request中资源的事件:

d02d6eb98e129c69ad6c910970072abb28ba0a8a

ServletRequestAttributeListener用于监听Request属性的变化。

还有AsyncListener,它是用于管理异步事件,比如异步执行已完成、超时或发生错误。

除了使用@WebListener注解定义和在web.xml中声明监听器,还可以使用ServletContext.addListener()方法以编程方式定义他们。可以在ServletContainer Initializer.onStartup或ServletContextListener.con textInitialized方法中做到这一点。

当应用程序为给定的ServletContext启动时,ServletContainerInitializer.onStartup方法会被调用:

4e13ef94eac36c9765c96e4cc8d3294e706b61a1

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10070 0
Spring 4.2框架中注释驱动的事件监听器详解
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/49097919 Spring 4.2框架中注释驱动的事件监听器详解 作者:chszs,版权所有,未经同意,不得转载。
902 0
javaWeb初识 ServletContext全局对象,过滤器,监听器
ServletContext全局对象: import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.
698 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13879 0
bboss mvc启动事件监听器使用方法
在实际应用,往往需要在mvc容器启动后执行相应的操作,bboss提供了mvc容器启动监听器来达成这个目的,本文详细介绍bboss mvc启动事件监听器使用方法。 1.首先要实现一个ioc容器监听器,这个监听器只要实现接口即可: org.
641 0
javascript练习题-事件
  前端javascript练习题-事件  键盘控制div移动如果需要在页面中移动,要将元素脱离文档流(否则会影响页面布局) js实现代码: var odiv=document.getElementsByTagName("div")[0]; document.
536 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载