22-监听器

简介: 一、 事件监听 1. 在程序中经常会用到事件监听机制 2. 关键字: 事件: 用户的一个操作, 可以是点击一个按钮、调用一个方法、创建一个对象 事件源: 发生事件的对象 事件监听器:  负责监听发生在事件源上的事件 事件处理器:  监听器的成员方法,当事件发生的时候会触发对应的处理器(成员方法) 3. 事件处理机制     1) 将监听器绑定到事件源     2) 事件

一、 事件监听

1. 在程序中经常会用到事件监听机制

2. 关键字:

事件: 用户的一个操作, 可以是点击一个按钮、调用一个方法、创建一个对象

事件源: 发生事件的对象

事件监听器:  负责监听发生在事件源上的事件

事件处理器:  监听器的成员方法,当事件发生的时候会触发对应的处理器(成员方法)

3. 事件处理机制

    1) 将监听器绑定到事件源

    2) 事件发生触发监听器的成员方法,即事件处理器,传递事件对象

    3) 事件处理器通过事件获得事件源,进行处理

4. 做事件监听一般都需要做两件事情

    1) 写一个类实现监听器接口

    2) 将监听器注册到事件源上

 

二、 servlet事件监听器

1. 在Servlet 技术中主要有三类事件监听器:

 

1) 监听三个域对象的创建和销毁

    ServletContextListener、HttpSessionListener、HttpServletRequestListener

    三个监听器都是接口类型

 

    public interface ServletContextListener

    {

       // 事件处理器

       init

   

 

       destroy

    }

    web应用启动时, web 容器会将所有的监听器都实例化,并绑定到对应的事件源上

   

2) 监听三个域对象中属性的变化(增加、删除和替换)

    setAttribute   getAttribute  removeAttribute

    ServletContextAttributeListener,

    HttpSessionAttributeListener

    ServletRequestAttributeListener

 

    处理器

attributeAdded

attributeReplaced

attributeRemoved

 

3) 感知对象被绑定到session域

    HttpSessionBindingListener

    该接口由javabean对象来实现

    该监听器不需要注册

 

案例: 统计来访者的ip  ServletRequestListener

       统计在线人数  HttpSessionListener

        统计在线用户  HttpSessionBindingListener

        session定时扫描器  HttpSessionListener

 

目录
相关文章
|
人工智能 安全 Cloud Native
龙蜥社区衍生版浪潮信息 KOS 升级!支持最新 5.10 内核,让大模型“开箱即用”
社区衍生版KeyarchOS产品升级,实现了大模型应用的“开箱即用”。
|
存储 API C++
【Qt 信号槽】深入探索 Qt 信号和槽机制中的引用传递“ (“A Deep Dive into Reference Passing in Qt Signal and Slot Mechanism“)
【Qt 信号槽】深入探索 Qt 信号和槽机制中的引用传递“ (“A Deep Dive into Reference Passing in Qt Signal and Slot Mechanism“)
1246 0
|
存储 NoSQL Java
10张流程图+部署图,讲透单点登录原理与简单实现
10张流程图+部署图,讲透单点登录原理与简单实现
434 1
10张流程图+部署图,讲透单点登录原理与简单实现
|
安全 前端开发 Android开发
鸿蒙开发|鸿蒙系统的介绍(为什么要学习鸿蒙开发|鸿蒙系统的官方定义|鸿蒙和安卓、ios的对比)
鸿蒙开发学习是一项探索性的工作,旨在开发一个全场景分布式操作系统,覆盖所有设备,让消费者能够更方便、更直观地使用各种设备。
1273 6
鸿蒙开发|鸿蒙系统的介绍(为什么要学习鸿蒙开发|鸿蒙系统的官方定义|鸿蒙和安卓、ios的对比)
|
Python
NumPy中的直方图
【6月更文挑战第12天】NumPy中的直方图。
166 1
|
安全 物联网 区块链
未来技术的融合潮流:区块链、物联网与虚拟现实的交汇点
【4月更文挑战第25天】 随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)已逐渐从概念验证走向实际应用。这些技术不仅单独发展迅猛,而且开始相互融合,创造出前所未有的应用场景和商业模式。本文将深入探讨这些技术的发展趋势,分析它们如何协同工作,以及在多个行业中的潜在应用。特别地,我们将聚焦于金融、医疗和娱乐等行业,揭示这些技术如何推动创新并带来颠覆性的变化。
|
监控 关系型数据库 MySQL
|
Java Spring
【UE4系列】UE4汽车导入,并行驶
选中spring arm target arm length 设置为550 ,Z坐标设置成120,如下图所示。WheeledVehicle ,是UE4汽车的母版,集成了很多功能。选择车-pawn-改成player0,点击运行。y轴反了,增加float变量为-1。7.3,编写动画蓝图函数,结果如图。设置成如图,左前轮,对应左前轮刹车。在汽车蓝图里,添加摄像头的控制。,这一步也可以第一步开始做。创建成功,修改名字,如图。,第一个前左轮,依次绑定。,为UE4汽车轮子模板。,转动角度设为0,如图。
1111 0
【UE4系列】UE4汽车导入,并行驶