java web 监听器详解

从SFF-8087到SFF-8643:详解服务器硬盘背板连接线缆的演变与实战接线 本文深度解析了服务器硬盘背板连接技术从SFF-8087到SFF-8643的演进历程,重点介绍了SAS、SATA和U.2接口的技术特点与实战接线方案。通过对比不同连接器标准的物理特性和电气规范,提供了混合环境下的线缆选择策略和常见故障排查指南,帮助IT专业人员优化存储系统性能与稳定性。 阅读详情
转载于:http://www.open-open.com/lib/view/open1350703815649.html

一、监听器原理:

监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。


 

简单的说,被监听对象A中,关联着B对象。事件源A类对外提供一个方法,用于设置监听器对象B到A类的某一实例变量中。在需要监听事件源的方法中,方法体的某一处先构造创建一个Event对象,将this即B与相关的动作封装进Event对象中,然后调用监听器B对象的doXXXX(event)方法,将事件对象传入方法实参中。

简单的类图示例:


二、简介:

在Servlet规范中定义了多种类型的监听器,它们用于监听的事件源分别为SerlvetConext,HttpSession和ServletRequest这三个域对象。

Servlet规范针对这三个对象上的操作,又把这多种类型的监听器划分为三种类型:

1>监听三个域对象创建和销毁的事件监听器

2>监听域对象中属性的增加和删除的事件监听器

3>监听绑定到HttpSession域中的某个对象的状态的时间监听器。

a、如三个域对象的创建与销毁方法签名:

ServletRequestListener有以下两个方法

void requestDestroyed(ServletRequestEvent sre)  

void requestInitialized(ServletRequestEvent sre) 

HttpSessionListener有以下两个方法

void sessionCreated(HttpSessionEvent se) 

void sessionDestroyed(HttpSessionEvent se)  

ServletContextListener

void contextDestroyed(ServletContextEvent sce) 

void contextInitialized(ServletContextEvent sce)  

b、三个类型对象域中增、删、改的监听器(3个)

ServletContextAttributeListener,

HttpSessionAttributeListener,

ServletRequestAttributeListener

c、感知型监听器(2个):监听自己何时被帮到session上,何时解绑了;何时被钝化了,何时被活化了(序列化到某个存储设置中)。

注意:这种监听器不需要注册。某个javabean实现这些接口后就可以监听何时被绑定、解绑或被激活或钝化。

HttpSessionBindingListener:实现该接口的类,能检测自己何时被Httpsession绑定,和解绑

HttpSessionActivationListener:实现该接口的类(要求些javabean必须是实现了Serializable接口的),能监测自己何时随着HttpSession一起激活和钝化。

三、Listenner的注册

Javaweb的这些特别的监听器注册比较简单,因为ServletRequest、HttpSession、ServletContext对象都是容器创建的,所以需要它们的监听器的话,只需要在应用的web-info的web.xml里配置即可:

<listener>

<listener-class>com.test.listener.MyHttpSessionAttributeListener</listener-class>

<listener-class>com.test.listener.MyServletContextAttributeListener</listener-class>

<!--  多个实现相同的Listenner接口,在执行时是按web.xml注册出现的来决定。 -->

</listener>

注意:感知型监听器HttpSessionBindingListener、HttpSessionActivationListener不需要注册。

三、应用场景:

由于ervletRequest、HttpSession、ServletContext对象都是容器创建的,什么时候创建,用户都不知道。通过实现这些对象的监听器后,就可以得知了。比如:

1>在ServletContextLintener监听器的contextInitialized方法中,进行应用级的资源初始化以便提高效率,在contextDestroyed方法中对应用级的资源进行释放。

2>又比如web应用中,会存在会话,通常的作法是将当前登录的用户存放在session会话中。那么如何统计在线人数话,如何显示出当前登录的用户呢。如何踢出某些已登录的用户呢。就可以通过HttpSessionAttributeListener监听器的attributeAdded方法。

等等。


手把手教你搞定CAC会议投稿:从LaTeX模板到PDF eXpress避坑全流程 本文详细解析CAC会议投稿全流程,重点介绍LaTeX模板调整、Turnitin查重技巧及PDF eXpress校验避坑指南。通过实战案例和代码示例,帮助研究者高效完成IEEE格式论文投稿,避免常见技术性失误,提升投稿成功率。 阅读详情

相关推荐

python k线顶分型_【缠论】分型、笔的定义及其程序化

K线包含关系处理和分型的定义如果一个K线的高低点全在另一K线的范围里,称之为包含关系。针对这种K线,需要进行一些处理,去除包含关系,处理方法:向上时,把两K线的高点当高点,而两K线低点中的较高者当成低点;反之,当向下时,把两K线的低点当低点,而两K线高点中的较低者当成高点,这样就把两K线合并成一新的K线。经过这样的处理,所有K线图都可以处理成没有包含关系的图形。两K线的包含关系,可以分成四种:1)...

weixin_39717152的博客 2826

javaweb监听器详解

一、监听器原理: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。 简单的说,被监听对象A中,关联着B对象。事件源A类对外提供一个方法,用于设置监听器对象B到A类的某一实例变量中。在需要监听事件源的方法中,方法体的某一处先构造创建一个Event对象,将this...

移动开发记录 469

24届数字IC验证——SV+UVM基础知识汇总(一)

汇总整理在面试过程中常见的问题,如果都能回答下来,那么面试肯定不成问题的分别构建不同抽象级的transaction,来实现复杂的激励。(以前是单一层次的sequence,对激励复用、上层复用不塌友好)不同层级之间的sequence没有继承关系,相互之间进行转换低层次的sequence从高层次的sequencer中获取高层次的sequence,并将其转换为低层次的sequence,再通过低层次的sequencer发送出去如何连接:低层次的sequencer包含高层次sequencer的句柄。

qq_42135020的博客 3153

JavaWeb的监听器Listener原理

package com.fdw.listener; import javax.servlet.ServletContext; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; //统计网站在线人数 public class OnLine implements HttpSessionListener { public OnLine() { ...

十三月的博客 293

YOLOv11+BiFPN双向特征金字塔:全方位解析多尺度检测性能优化指南

飞书链接:https://ecn6838atsup.feishu.cn/wiki/EhRtwBe1CiqlSEkHGUwc5AP9nQe?购买即可解锁800+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,每日更新。函数中添加BiFPN的解析逻辑(找到。链接可用,不要多复制空格了。密码:946m22&8。

FJN110的博客 308

C#调用opencv的dll

opencv算法和界面配合,刚入职的时候尝试过,利用的MFC,调试起来很痛苦。 后来基本都没怎么用界面,DOS的黑窗口,opencv自带的显示界面及滑动条凑合着调试用。 最近有点时间,刚好双十一在一个视觉群里看到了一个讲C#调用opencv的dll的课程,鉴于群主也是那门课的讲师,在平时解答群员的问题的时候很细心,能力也很强,因此有了这篇文章。 根据相机不同动态调用相机默认的属性...

Learning by doing 2975

JAVA监听器原理

来源:http://www.cnblogs.com/hulitut/archive/2012/03/27/2420414.html Java 最新的事件处理方法是基于授权事件模型 事件源生成事件并将其发送至一个或多个监听器 监听器简单地等待,直到它收到一个事件。一旦事件被接受,监听器将处理这些事件,然后返回。 事件:在授权事件模型中,事件是一个描述事件源状态改变的对象 。 通过

小强快跑~~ 8876

SAP-ABAP:SAP HANA性能神器FDA:是极速查询的引擎,也是CPU过载的元凶

在SAP S/4HANA的世界里,有一个被ABAP开发者们既爱又怕的特性——Fast Data Access(FDA),它能将性能提升百倍,也能让CPU瞬间飙升。本文将带您全面解剖这一核心机制。

baidu_35680696的博客 849

程序监听机制

程序运行时是连续的,而监听机制在其中扮演着重要的角色,确保程序能够及时地响应和处理各种事件。

weixin_47695827的博客 1138

基于ADMM的TV正则化最小化稀疏实现图像重建

ADMM算法是一种求解带有约束条件的优化问题的有效方法,它可以将原问题分解成两个子问题,然后交替求解这两个子问题,直到收敛。为了解决这些问题,研究人员提出了许多图像重建方法,其中一种常用的方法是基于正则化的方法。在图像重建中,TV正则化是一种比较常用的正则化方法,可以有效地降低图像的噪声,并保持图像细节特征。通过本文的介绍和源代码的演示,我们可以看出基于ADMM的TV正则化最小化稀疏实现图像重建的方法是一种简单、高效、有效的图像重建方法,能够在一定程度上提高图像质量,对于实际应用具有一定的参考意义。

学习使你进步。 1762

YOLO26 终极蒸馏指南:从入门到 SOTA (The Ultimate Distillation Guide)

《YOLO26 蒸馏技术指南》深入解析了知识蒸馏在目标检测中的应用,提出五大蒸馏范式:响应蒸馏(学习最终输出)、特征蒸馏(模仿中间特征)、关系蒸馏(捕捉通道关联)、CWD(通道语义对齐)和FGD(前景背景分离)。实验表明,"Response KD + CWD + FGD"组合效果最佳,使YOLO26n在0.5ms推理速度下达到0.956 mAP50,甚至超越教师模型。指南提供模块化代码实现和超参数调优建议,强调蒸馏能平衡模型精度与效率,是轻量化部署的有效方案。

weixin_51988935的博客 717

JavaWeb第十三章课后题 监听器Listener详解

在HttpRequestListener接口的方法中,用于监听ServletRequest对象销毁的是( )。4. 在HttpSessionActivationListener接口中的方法,用于监听相关对象钝化的是( )。8. 在HttpSessionListener接口中,当HttpSession对象被创建时将调用的方法是() [单选题] *7. 下面选项中,用于监听ServletContext对象中属性变更的接口是() [单选题] *sessionCreated()(正确答案)

qq_64314976的博客 545

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

一文带你掌握java web的监听器

手把手带你实现管理员将恶意用户踢下线的功能

weixin_45642975的博客 1451

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java Web监听器概览

在Java Web开发中,监听器(Listener)扮演着监听并响应特定事件的重要角色。这些事件紧密关联于Web应用程序的生命周期或用户与应用程序的交互。根据监听的对象和事件类型,监听器可划分为多个类别。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 5113

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

java web自定义监听器_【java web】监听器listener

一、简介Java的监听器,也是系统级别的监听。监听器随web应用的启动而启动。Java的监听器在c/s模式里面经常用到,它会对特定的事件产生产生一个处理。监听在很多模式下用到,比如说观察者模式,就是一个使用监听器来实现的,在比如统计网站的在线人数。1.1 监听器分类1) 按监听的对象划分,可以分为:ServletContext对象监听器HttpSession对象监听器ServletRequest对...

weixin_29589063的博客 557

java web监听器_JavaWeb监听器

三大组件:ServletListenerFilterListener:监听器* 它是一个接口,内容由我们来实现;* 它需要注册,例如注册在按钮上!* 监听器中的方法,会在特殊事件发生时被调用!观察者:* 事件源>小偷* 事件>偷东西* 监听器>警察>监听器中的方法:抓捕JavaWeb中的监听器* 事件源:三大域!>ServletContext<>void ...

weixin_39530288的博客 488

【Java Web】监听器类型及其使用

监听器(Listener)组件用于监听特定事件的发生,并在事件触发时执行相应的处理逻辑。监听器主要基于Java的观察者模式实现,可以用来监控应用程序的生命周期事件,如请求、会话和属性的变化等。

m0_66584716的博客 1431

java web监听器_Javaweb之监听器

【49】监听器基本概念JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext,HttpSession和ServletRequest等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。Servlet监听器的分类在Servlet规范中定义了多种类型的监听器,它们用于监听的事件源分别为ServletContext,Http...

weixin_28948785的博客 546

Java Web监听器(Listener)详解:原理、实现、应用与优化

监听器(Listener)是Java Web开发中一种基于事件驱动机制的组件,它允许开发者在特定事件发生时执行特定的逻辑。监听器的作用类似于现实生活中的“观察者”,它会“监听”某些事件的发生,并在事件触发时做出相应的反应。监听器是Java Web三大组件(Servlet、Filter、Listener)之一,它在Web应用的生命周期管理、资源初始化与释放、用户行为监控等方面发挥着重要作用。// 应用启动时执行 System . out . println("Application started")

2278

java-WEB中的监听器Listener

http://blog.youkuaiyun.com/z_Dendy/article/details/8479144

KVMK的专栏 666

java web的监听器类_javaweb之监听器详解

在servlet中定义了多种类型的监听器,他们用于监听事件源分别是servletContext,httpsession,servletrequest 这三个域对象。servlet中监听器主要有三类:1,监听三个域对象的创建和销毁的监听器(3个 ),servletContextListenlisten监听器:用来监听servletcontxt域对象的创建和销毁的监听器:创建:在服务器启动的时候,为每...

weixin_34869021的博客 450

Java Web——过滤器 & 监听器

Java Web 中过滤器和监听的相关知识点

sakurapaid的博客 1383

java web 监听器 例子_Java web技术应用---监听器

监听器的定义(专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生变化时,立即采取相应的行动)定义:Servlet规范中定义的一种特殊的类,用于监听ServletContext、HttpSession和ServletRequest等域对象的创建与销毁时间,以及用于监听域对象的属性发生修改的事件,监听器对象可以在事件发生前、发生后做一些必要的处理WEB应用中的监听器...

weixin_42521424的博客 302

java web 的监听器

用tomcat作为服务器,启动一个java web项目的时候,我一直有个疑惑 web.xml中的配置项有什么作用?还有spring的ioc注解到底是怎么注解的?(类似的不得解问题) 然后,听到ssh、mvc框架常提到的两个词 监听器和拦截器(或过滤器), 一下是,http://blog.youkuaiyun.com/csh624366188/article/details/7423215 

逍遥法外 1219

java web 监听器 例子_Java Web监听器Listener接口原理及用法实例

监听器主要针对三个对象ServletContextHttpSessionServletRequest使用方式创建*Listener接口的实现类在web.xml中注册该类在同时注册多个同接口的监听器时,执行顺序参照web.xml中的注册顺序监听器监听类型对象的创建和销毁对象属性的添加、替换、移除创建实现类// 用于监听session创建和销毁的监听器package listener;import j...

weixin_33918262的博客 213

36、JAVA_WEB开发基础之监听器

是什么 顾名思义就是监听器就是监听器,在开发中指的是一种机制,通过这种机制可以对应用中组件的创建、销毁、更改等动作进行监视,根据具体监听信息作出相应的处理 工作原理 就是预先给组件添加一个事件,当这个组件被操作,并且正好满足了对应的条件,这就是触发了监听器,接下来这个组件可以自动的调用预先添加的事件进行业务处理,这就是监听器进行工作了 JAVA_WEB中如何使用监听器 在javaweb开...

chaizepeng的博客 201
上一篇: RabbitMQ基础概念详细介绍
下一篇: Java并发编程:深入剖析ThreadLocal
三易的博客
博客等级 码龄15年 42粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值