监听器

本文深入讲解Java监听器的概念,包括监听器的分类、实现步骤及应用场景。探讨如何通过监听器统计在线人数、页面访问量,以及与Spring框架的结合使用。同时,详细介绍了监听器在web.xml中的注册过程及启动顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	Java监听器简介

Java监推器定义:

Web			----->HttpSession
        应用服务器 ---->>>Web监听器  ----->ServletContext
			------>ServletRequest

用于监听ServletContext,HttpSession,ServletRequest等域对象的创建、销毁及其
属性修改发生变化的事件

监听器可以在事件发生前后进行一些必要的操作

常用应用场景:
<> 统计在线人数

<> 页面访问量的统计

<> 应用启动时完成信息初始化工作

<> 与Spring结合

监听器的实现步骤:
1、编写Java类实现监听器接口,并实现其接口方法
2、在web.xml文件中对实现的监听器类进行注册

示例:在src目录下创建com.imooc.listener
	MyFirstListener的类,并实现ServletContextListener的接口
在web.xml文件中对监听器进行一个注册

<listener>
        <listener-class>com.imooc.listener.MyFirstListener</listener-class>
</listener>

		多监听器启动顺序

在web.xml中添加多个监听器,当tomcat服务器启动时,
执行监听器的初始化方法,此时的顺序是按照web.xml写入的顺序由上
到下执行,当tomcat服务器停止时,其执行的顺序是逆序执行的


注册顺序的正序就是监听器初识化的顺序;注册顺序的逆序是监听器
销毁的顺序。



		Java监听器分类

按监听对象:
       <>  ServletContext对象监听器
       <>  HttpSession对象监听器
       <>  ServletRequest对象监听器


按监听事件:
        
         <>  域对象自身的创建和销毁事件监听器

         <>  域对象中属性的创建、替换和消除事件监听器

	ServletContext     HttpSession        ServletRequest
         <>  绑定到session中的某个对象的状态事件监听器

	Java监听器分类
	
	域对象自身的创建和销毁事件监听器

	ServletContext	      HttpSession	  ServletRequest

ServletContextListener         HttpSessionLisener    ServletRequestListener

sessionCreated(HttpSessionEvent se)    HttpSession 对象创建调用
sessionDestroyed(HttpSessionEvent se) HttpSession 对象销毁调用

requestInitalized(ServletRequestEvent sre)  SevletRequest对象创建调用
requestDestroyed(ServletRequestEvent sre) SevletRequest 对象销毁调用

		Java监听器分类

属性监听器:属性的新增,修改,消除都触发发属性监听器
	  
       ServletContext		        HttpSession		    ServletRequest

ServletContextAttributeListener HttpSessionAttributeListener ServletRequestAttribute

	attributeAdded	attributeReplace	attributeRemoved

绑定到session中的某个对象的状态事件监听器

HtttpSessionBindingLisener   (#这个监听器不需要在web.xml中注册)
//它可以完整的被一个类所包含,当服务器有设置这个类为属性的时候调用
valueBound(HttpSessionBindingEvent event)	当监听器绑定至HTTP会话调用

valueUnbound(HttpSessionBindingEvent event)
#当监听器对象从HTTP会话修改、移除或者会话销毁时调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值