Web_监听器的创建与使用

SSM学习----Spring集成web之监听器的引入 文章目录Spring集成web1.使用应用上下文去获取xml1.1 创建监听器类1.2 添加上下文应用对象到监听器中,并存放到ServletContext域中1.3 配置web.xml在Servlet标签之上添加listener标签1.4在测试类中调用servletContext对象来获取域中的上下文对象2.ContextLoaderListener的使用2.1 在web.xml中配置ContextLoaderListener监听器(导入坐标)2.2 使用webApplicationContextUtils 阅读详情

1. 什么是监听器以及监听器的作用?
 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听的对象发生上述事件后,监听器的某个方法将被立即执行。
 我们来看一下监听器的一些关系如下:
监听器关系图
 
2. web监听器
 监听器有好几种类型,但是我们在web的Servlet开发中,他们用于监听的事件源分别为:ServletContext、HttpSession和ServletRequest这三个域对象。
 针对这三个域对象的监听器,我们按照功能类型不同,大概可以分为以下三种事件监听器:
 <1>监听这三个域对象的创建与销毁
 <2>监听域对象中属性的增加和删除
 <3>监听绑到HttpSession域中的某个对象的状态

3. 创建监听器的步骤
第一步:
 创建一个类,去实现指定的监听器接口。重写接口中的方法。
第二步:
 在web.xml中使用<listener>标签配置监听器,web容器会自动把监听器注册到事件源中。
 例如以下配置:

//在web-app的标签下进行配置
<listener>
    <listener-class>
        XXX<!--这里的XXX是指监听器的全类名-->
    </listener-class>
  </listener>

 注意:一个web.xml文件中可以配置多个Servlet事件监听器,web服务器按照它们在web.xml中的注册顺序来加载和注册这些Servlet事件监听器。

4. 监听三个域对象的创建与销毁
<1>ServletContext域
  监听ServletContext对象的创建和销毁事件的接口是:ServletContextListener。ServletContext对象会在服务器开启的时候为当前应用创建一个ServletContext对象。在服务器关闭的时候会销毁该对象。

  • 当ServletContext对象被创建的时候,会调用监听器的contextInitialize(ServletContextEvent sce)方法。
  • 当ServletContext对象被销毁的时候,会调用监听器的contextDestroyed(ServletContextEvent sce)方法。

    <2>HttpSession域

 监听HttpSeesion对象 的创建和销毁的接口是:HttpSessionListener。

  • 创建一个Session对象的时候,会调用监听器的sessionCreated(HttpSessionEvent se)方法。
  • 销毁一个Session对象的时候,会调用监听器的sessionDestroyed(HttpSessionEvent se)方法。
//session的创建
1.通过request.getSession()请求来获取session,如果请求头中没有jsessionid,那么
    就创建一个session对象。
2.如果请求头中有jsessionid的值,如果在服务器端,有一个session的id值与其不一样,不
    创建,直接使用。 如果在服务器端没有这个session的id值,那么就会创建session对象。

//session的销毁
<1>默认超时。
<2>设置session超时时间。`setMaxInactiveInterval(int interval)`
<3>invalidate()手动销毁。
<4>关闭服务器。

<3>Request域
 监听ServletRequest对象的创建与销毁的接口是:ServletRequestListener。

  • 当request对象被创建的时候,会调用监听器的requestInitialize方法。
  • 当request对象被销毁的时候,会调用监听器的requestDestroyed方法。
     
    用户每一次访问都会创建一个servletRequest对象,当服务器对其返回响应的时候,servletRequest对象就会被销毁。

5. 监听三个域对象属性变化

域名称实现的接口事件类型
ServletContextServletContextAttributeListenerServletContextAttributeEvent
HttpSessionHttpSessionAttributeListenerHttpSessionBindingEvent
HttpServletRequestServletRequestAttributeListenerServletRequestAttributeEvent

 
 当向被监听对象中增加一个属性的时,web容器 就通过调用事件监听器的attributeAdded方法进行响应,这个方法接收一个事件类型的参数,监听器可以通过这个参数来获得正在增加属性的域对象和被保存到域中的属性对象。

//三个域对象的增加、修改、移除的方法是一样的,仅是类型参数不同(事件类型)
新增:public void attributeAdded(事件类型参数) 
移除:public void attributeRemoved(事件类型参数) 
修改:public void attributeReplaced(事件类型参数) 
激光监听演示实验仪器的制作 本文详细阐述了如何通过激光技术远程窃听谈话内容。详细分析了原理并附有电路图。 立即下载

相关推荐

关于小样本学习综述论文的总结

对小样本学习综述的个人总结

qq_46176086的博客 5457

如何使用监听器?

监听器可以监听就是在application(servletContext),session ,request 三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件。Listener分类:Javaweb提供了8个监听器(接口)(1)启动tomcat时。(2)关闭tomcat时。

qq_65142821的博客 632

f2fs学习笔记 - 3. F2FS文件系统布局

目录1.前言2.F2FS布局说明2.1. super block(block 0x0 ~ block 0x1ff)2.2 CP(block 0x200 ~ block 0x5ff)cp page1nat journalsit journaldata summarycurrent hot node summarycurrent warm node summarycurrent cold node summarycp page22nd checkpoint2.3 SIT(block 0x600 ~ block

HZero 4645

一个最简单的监听器实现

这里我们将演示如何实现一个最简单的监听器。 目的1)通过最简单的例子来掩饰监听器模式的使用。2)减少重复编码。3)学习如何从简单到复杂的设计。目标1)扩展简单的监听器为更实用的复杂监听器。2)不用每次都复制代码重新实现。 3)发现监听器模式可以被用在哪些地方。4)发掘监听器的优势和劣势。 参与者 ·   监听者·   说话者原理说话者维护一个

囧囧囧囧的最脑残Hacker养成计划 4202

车载以太网入坑指南,从小白到懂哥的进阶之路【技术分享】

各位技术大佬们好!最近公司项目涉及到车载以太网,刚开始完全懵逼,花了大半个月时间各种查资料、测试设备,总算是摸清了门道。想着互联网上卧虎藏龙,肯定有不少大佬对这个技术感兴趣,所以写个帖子分享一下,顺便求各位大佬指点。

starelink的博客 1261

Central Finance 全景解析:用 SAP S/4HANA 构建跨系统的财务中台与渐进式转型路径

Central Finance 是基于 SAP S/4HANA 的一种部署与应用场景:在不打断现有异构源系统运营的前提下,把多套 SAP 与非 SAP 系统中的财务与管理会计数据实时/准实时复制到一套中心化的 SAP S/4HANA 中,作为统一的记账与分析底座,逐步把选定的财务流程(如预算控制、付款、固定资产结账等)迁入中心系统。这让企业既能快速获得统一报表与统一核算结构,又为未来的整体迁移留出了弹性路径。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 392

实现监听器的四种方式

分别如下: 一. 创建成员内部类 二. 创建匿名内部类 三. Activity直接实现监听器接口 四. 通过XML布局文件定义onClick属性 一. 创建成员内部类 MainActivity.java package com.example.android.ui_button; import android.support.v7.app.AppCompatActivit...

Jujuxiaer的博客 5591

Python 爬虫 + 数据分析:社会调查数据抓取与结果可视化分析

在当今数字化时代,数据已成为推动社会发展的关键资源之一。无论是市场调研、学术研究还是政策制定,社会调查数据都扮演着至关重要的角色。通过 Python 爬虫技术,我们可以高效地获取这些数据,并结合数据分析与可视化工具,深入挖掘数据背后的价值。本文将通过一个完整的实战项目,带你掌握如何使用 Python 爬虫抓取社会调查数据,并进行可视化分析。

yansideyucsdn的博客 126

做一个事件监听器

页面有各种各样的事件监听器,比如单击某个按钮打开弹窗之类的,在Java中,也可以做类似功能的,以下以监听修改用户姓名的事件为例。 我们建立一个listener接口,在listener中定义各种方法,例如修改用户姓名: /** * 表格修改监听器 * 表格修改某些字段后调用该接口,在该接口的实现类中修改其他关联表格的数据 * 注意:该类的实现类不做业务操作,仅进行表字段修改 * 需要修改表格同时做业务操作时应在业务类中处理 * @author liuy * @date 2020-12-

crazy_Oriana的博客 432

基于OpenClaw的AI数字员工协同团队架构设计

随着大型语言模型从被动的文本生成器向具备自主规划与执行能力的智能代理演进,企业级人工智能的应用范式正在发生根本性转变。在这一演进过程中,OpenClaw(前身为Clawdbot及Moltbot)作为一种开源的、本地优先的个人AI智能体网关基础设施,凭借其对持续内存、多通道接入以及沙盒化工具执行的原生支持,迅速成为构建“始终在线”数字劳动力的核心框架 1。然而,将单体个人助理扩展为能够处理复杂业务逻辑、支持跨组织协同并严格保障数据隔离的多智能体(Multi-Agent)团队,绝非简单的API拼接。系统架构必须

形上得其象,形下合于数;阴阳自济,玄理自明。 1048

RK3568平台(KBuild篇)KBuild编译体系

从Linux内核2.6开始,Linux内核的编译采用Kbuild系统,这和过去的编译系统有很大的不同,尤其对于Linux内核模块的编译。在新的系统下,Linux编译系统会两次扫描Linux的Makefile:首先编译系统会读取Linux内核顶层的Makefile,然后根据读到的内容第二次读取Kbuild的Makefile来编译Linux内核。kbuild,即 kernel build,用于编译 Linux 内核文件。

weixin_49303682的博客 349

自己动手实现-监听器

监听器就是在执行一些操作的时候通知监听此事件的对象执行一定的方法。写了BingoneMap,其中使用Set存储监听器,在事件发生后执行监听器事件。基本要素是留一个口子给开发者实现该事件需执行怎么的操作。同时注意数据之间的传递,监听器方法和调用者之间的数据交互。package bingone;import java.util.*;/** * Created by bingone on 16/3/2

gg_gogoing的专栏 998

Allegro输出光绘文件规范

添加钻孔表的具体步骤为:1.通过屏幕右边的Visibility选项的Views列表,将Drill层打开2.将Visibility选项中的PIN和Via选项都选中,见下图所示: 参数设好之后关闭NC Drill/Parameters窗口,输出数控机床钻孔文件的命令菜单为:Manufacture=>NC=>NC Drill…,打开的窗口如下: 输出数控机床钻孔文件的具体步骤为: 上图是光绘输出的层控制窗口,还有一个窗口是输出参数的控制窗口,我们通过点击上图的第二个列表项General Parameters来

axingxiansen的博客 2808

第6章Spring与Web-使用 Spring 的监听器 ContextLoaderListener使得将spring容器对象创建一次即可,反复调用...

第6章Spring与Web 在 Web 项目中使用 Spring 框架,首先要解决在 web 层(这里指 Servlet)中获取到 Spring 容器的问题。只要在 web 层获取到了 Spring 容器,便可从容器中获取到 Service 对象。 1. Web 项目使用 Spring 的问题(了解) Step1:新建一个 Maven Project 类型 maven-archetype-w...

weixin_48370579的博客 391

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

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

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

m0_66584716的博客 1431

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Servlet监听器一

了解Servlet之前我们先了解监听器是什么?字面意思,就是监听这个web干嘛了,然后我们根据得到的信息可以采取什么措施。 术语:监听器:专门用于对其它对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。 Servlet对象根据监听的事件可以分为三种类型:域对象监听器,属性监听器,HttpSession域内对象监听器。本文主要讲解域对象监听器。 ...

low1101的博客 212

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

监听器(Listener)的入门详解和使用方法

监听器的作用 Listener的作用对Web应用对象的行为进行监控。 通过Listener监听自动触发指定功能代码。 这里Web应用对象通常指这三种: ServletContext–对全局ServletContext及其属性进行监听 HttpSession–对用户会话及其属性操作进行监听 ServletRequest–对请求以及属性操作进行监听 在这些属性进行修改时,就会被监听器捕获,从而执行相应的功能代码。 开发监听器的三要素 实现XxxLsitener接口,不同接口对应不同监听对象 实现每个接

qq_40474507的博客 5669

java监听器怀疑_Java监听器Listener的使用详解

监听器用于监听Web应用中某些对象的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当监听范围的对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。常用于统计网站在线人数、系统加载时进行信息初始化、统计网站的访问量等等。分类:按监听的对象划分可以分为:ServletContext对象的监听器HttpSession对象的监听器ServletRequest对象的监听器按监听的...

weixin_28979339的博客 125

Spring监听器用法与原理详解(带ApplicationListener模型图)

相信大家都或多或少知道Spring中的监听器,有些人还能说出它采用了观察者模式,但其实它还用到了适配器模式工厂模式等。当然,仍有不少人是完全不了解Spring的监听及其机制的,本次我们就来深入学习一下Spring监听器观察者模式(Observer Pattern)是一种行为设计模式,它用于在对象之间建立一对多的依赖关系。在该模式中,当一个对象的状态发生变化时,它会自动通知其依赖对象(称为观察者),使它们能够自动更新主题对象维护一个观察者列表,并提供方法用于添加和删除观察者。当主题的状态发生变化时,它会。

战斧的博客 1万+

java web 监听器_Javaweb中的监听器Listener

servlet中的监听器servlet中的监听器是用于监听web常见对象HttpServletRequest,HttpSession,ServletContext。主要有下面三个作用:1.监听web对象创建与销毁。2.监听web对象的属性变化,添加、删除、修改。3.监听session绑定javaBean操作,活化(从硬盘读取到内存)与钝化(从内存持久化到硬盘)操作。当监听器发现被监听的对象发生变化...

weixin_39781363的博客 250

Listener监听器

监听器:专门用于对域对象对象身上发生的事件或状态改变进行监听和相应处理的对象监听器是GOF设计模式中,观察者模式的典型案例观察者模式: 当被观察的对象发生某些改变时, 观察者自动采取对应的行动的一种设计模式监听器使用的感受类似JS中的事件,被观察的对象发生某些情况时,自动触发代码的执行监听器并不监听web项目中的所有组件,仅仅是对三大域对象做相关的事件监听web中定义八个监听器接口作为监听器的规范,这8个监听器按照监听的域对象不同,又分为3类请求域监听器。

plante34的博客 942

11---Listener监听器

Listener介绍: 1.监听器: Javaweb中的监听器是用于监听web常见对象HttpServletRequest,HttpSession,ServletContext 监听器的作用 1.监听web对象创建与销毁. 2.监听web对象的属性变化 3.监听session绑定javaBean操作. 监听机制相关概念 1.事件----一件事情 2.事件源—产生这件事情的源头 3.注册监听—将监听器与事件绑定,当事件产生时,监听器可以知道,并进行处理。 4.监听器—对某件事情进行处理监听的一个

PENTD的博客 605

Java监听器Listener使用详解

转载请注明原文地址: http://www.cnblogs.com/ygj0930/p/6374384.html 在我的项目中有具体应用:https://github.com/ygj0930/CoupleSpace 监听器用于监听web应用中某些对象、信息的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当范围对象的状态发生变化的时候,服务器自动调用监听器...

a631278993的博客 371

Java Web高级特性之(二)监听器

监听器的概念 web应用当中监听器是什么: web应用服务器—>监听器Session 定义:监听器是Servlet中的一种特殊类,用于监听ServletContext、HttpSession和ServletRequset等域对象的创建与销毁事件,以及监听这些域对象的属性发生修改的事件。 监听器可以在事件发生前、发生后做一些必要的处理。 监听器的用途 统计用户在线人数

gangannini的专栏 776

监听java_Java监听器Listener的使用详解

监听器用于监听Web应用中某些对象的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当监听范围的对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。常用于统计网站在线人数、系统加载时进行信息初始化、统计网站的访问量等等。分类:按监听的对象划分可以分为:ServletContext对象的监听器HttpSession对象的监听器ServletRequest对象的监听器按监听的...

weixin_30923011的博客 326

(JavaWeb)监听器的使用-session监听器统计网站在线人数

实现一个监听器的接口;(有N种) 这里用seesion监听器统计网站在线人数演示监听器使用 1.编写一个监听器 实现监听器的接口 //统计网站在线人数 public class OnlineCountListener implements HttpSessionListener { //创建session时触发 public void sessionCreated(HttpSessionEvent se) { //获取servlet上下文对象 ServletC

我真的很不错的博客 2271
上一篇: JSTL_C标签库
下一篇: Web监听器_监听绑定、活钝化HttpSession
pseudonym_
博客等级 码龄10年 88粉丝 205原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值