博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
j2EE监听器-listener
阅读量:6535 次
发布时间:2019-06-24

本文共 1776 字,大约阅读时间需要 5 分钟。

  当Web应用在Web容器中运行时,Web应用内部会不断地发生各种事件:如Web应用被启动、Web应用被停止、用户session开始、用户session结束、用户请求到达等,可以用Servlet API提供的监听器来监听Web应用的内部事件,从而允许当Web内部事件发生时回调事件监听器内的方法。应用程序完全可以采用一个监听器类来监听多种事件,只要让该监听器实现类同时实现多个监听器接口即可。

 
 
常用的Web事件监听器接口:
(1)ServletContextListener:监听Web应用的启动和关闭
包含的方法:
contextInitialized(ServletContextEvent sce):启动Web应用时系统调用Listener的该方法,可通过ServletContextEvent取得该应用的ServletContext实例(sce.getServletContext())
contextDestroyed(ServletContextEvent sce):关闭Web应用时系统调用Listener的该方法
(2)ServletContextAttributeListener:监听ServletContext范围(application)内属性的改变。
包含的方法:
attributeAdded(ServletContextAttributeEvent event):当把一个属性存入application范围时触发该方法,可通过形参event.getName和event.getValue获取添加的属性名和属性值
attributeRemoved(ServletContextAttributeEvent event):当把一个属性从application范围删除时将触发该方法,可通过形参event.getName和event.getValue获取删除的属性名和属性值
attributeReplaced(ServletContextAttributeEvent event):当程序替换application范围内的属性时将触发该方法,可通过形参event.getName和event.getValue获取替换后的属性名和属性值
(3)ServletRequestListener:监听用户请求
包含方法:
requestInitialized(ServletRequestEvent sre):
用户请求到达、被初始化时触发该方法,可通过形参sre.getServletRequest()获取request
requestDestroyed(ServletRequestEvent sre):
用户请求结束、被销毁时触发该方法
(4)ServletRequestAttributeListener:监听ServletRequest范围(request)内属性的改变
(5)HttpSessionListener:监听用户session的开始和结束
包含方法:
sessionCreated(HttpSessionEvent se):用户与服务器的会话开始、创建时触发该方法,通过形参se.getSession()获取session,
sessionDestroyed(HttpSessionEvent se):用户与服务器的会话断开、销毁时触发该方法
(6)HttpSessionAttributeListener:监听HttpSession范围(session)内属性的改变
 
 
配置Listener
只要向Web应用注册Listener实现类即可,无须配置参数之类的东西,若将ServletContextListener配置在容器中,且Web容器(支持Servlet 2.3以上规范)支持Listener,则该ServletContextListener将可以监听Web应用的启动、关闭。
(1)<listener>
    <!--指定Listener的实现类-->
    <listener-class>Listener实现类</listener-class>
</listener>
(2)@WebListener

转载于:https://www.cnblogs.com/allen-blogs/p/5413023.html

你可能感兴趣的文章
linux下ExtMail邮件使用及管理平台
查看>>
linux中iptables设置自建dns服务器的端口
查看>>
Master-work模式
查看>>
RT-Thread--时间管理
查看>>
BUPT 63T 高才生 找最佳基站
查看>>
linux 学习(二)防火墙
查看>>
android - SpannableString或SpannableStringBuilder以及string.xml文件中的整型和string型代替...
查看>>
三端稳压器各个参数解释
查看>>
算法(Algorithms)第4版 练习 1.3.14
查看>>
内部类
查看>>
高速数论变换(NTT)
查看>>
Springmvc的跳转方式
查看>>
加密原理介绍,代码实现DES、AES、RSA、Base64、MD5
查看>>
LINUX中常用操作命令
查看>>
python 获取进程pid号
查看>>
Asp.Net Core 轻松学-利用日志监视进行服务遥测
查看>>
有向图的拓扑排序算法JAVA实现
查看>>
jenkins2 multibranch
查看>>
am335x 电容屏驱动添加。
查看>>
rhel-server-7.2-x86_64无法联网(VMware环境)
查看>>