java常用的Listener介绍

Listener(一) -- Listener的快速入门 在Web开发中,Listener是一种用于监听Web应用程序中特定事件的组件。它可以监听多种事件,包括Web应用程序的启动和关闭、请求的到达和离开、会话创建和销毁等。在Java Web应用程序中,Listener是通过实现特定接口来创建的。Listener类型说明监听ServletContext的创建和销毁事件。监听ServletRequest的创建和销毁事件。监听HttpSession的创建和销毁事件。监听ServletContext属性的添加、修改和删除事件。 阅读详情
Listener是Servlet的监听器,它可以监听客户端的请求、服务端的操作等;监听器对象在事情发生前、发生后可以做一些必要的处理。


目前 Servlet2.5 中常用的有8个监听器接口,分为3类: 


1. Servlet上下文进行监听(Application级): 
用于监听 ServletContext 对象的创建和删除以及属性的添加、删除和修改等操作,该监听器需要用到如下两个接口类: 
(1) ServletContextAttributeListener:监听对 ServletContext 属性的操作,比如增加、删除、修改 
      attributeAdded(ServletContextAttributeEvent e)             添加属性时调用     
      attributeReplaced(ServletContextAttributeEvent e)        修改属性时调用     
      attributeRemoved(ServletContextAttributeEvent e)        删除属性时调用 


(2) ServletContextListener:监听对 ServletContext  对象的创建和删除 
      contextInitialized(ServletContextEvent sce)          初始化时调用     
      contextDestroyed(ServletContextEvent sce)        销毁时调用,即当服务器重新加载时调用 


2. 监听HTTP会话(Session级): 
用 于监听 HTTP 会话活动情况和 HTTP 会话中的属性设置情况,也可以监听 HTTP 会话的 active 和 passivate 情况等,该监听器需要用到如下多个接口类: 
(1) HttpSessionListener:监听 HttpSession 的操作 
      sessionCreate(HttpSessionEvent se)         初始化时调用; 
      sessionDestroyed(httpSessionEvent se)    销毁时调用,即当用户注销时调用 


(2) HttpSessionActivationListener:用于监听 HTTP 会话的 active 和 passivate 情况 


(3) HttpSessionAttributeListener:监听 HttpSession 中的属性操作 

      attributeAdded(HttpSessionBindingEvent se)         添加属性时调用 
      attributeRemoved(HttpSessionBindingEvent se)    删除属性时调用 
      attributeReplaced(HttpSessionBindingEvent se)    修改属性时调用 

(4) HttpSessionBindingListener:

一个实现了HttpSessionBindingListener接口的对象被绑定到Session中或者从session中被删除时,Servlet容器会通知这个对象;该对象在接收到通知后,可以做一些初始化或清除状态的操作。

      valueBound(HttpSessionBindingEvent event)      当对象正在被绑定到Session中,Servlet容器调用该方法。
      valueUnbound(HttpSessionBindingEvent event)    当从Session中删除对象时,Servlet容器调用该方法来。
3. 对客户端请求进行监听(Requst级): 
用于对客户端的请求进行 监听是在 Servlet2.4 规范中新添加的一项新技术,使用的接口如下: 
(1) ServletRequestListener 接口类 
       requestDestroyed(ServletRequestEvent e)       对销毁客户端进行监听,即当执行 request.removeAttribute("xxx") 时调用 
       requestInitialized(ServletRequestEvent e)         对实现客户端的请求进行监听 


(2) ServletRequestAttributeListener 接口类 
       attributeAdded(ServletRequestAttributeEvent e)         对属性添加进行监听 
       attributeRemoved(ServletRequestAttributeEvent e)    对属性删除进行监听 
       attributeReplaced(ServletRequestAttributeEvent e)    对属性替换进行监听
Java Web 之 Servlet 100问 链式处理:多个Filter可以串联,形成一个处理链,每个Filter依次处理请求和响应。 阅读详情

相关推荐

【JavaWeb】 三大组件之监听器 Listener

1. Listener 监听器它是 JavaWeb 的三大组件之一。JavaWeb 的三大组件分别是:Servlet 程序、Listener 监听器、Filter 过滤器 2. Listener 是 JavaEE 的规范,就是接口 3. 监听器的作用是,监听某种变化(一般就是对象创建/销毁, 属性变化), 触发对应方法完成相应的任务 4. JavaWeb 中的监听器(共八个), 目前最常用的是 ServletContextListener

dandelionl_的博客 5516

Listener监听器

listener 概述 在java程序中,一旦被监听的对象发生相应的变化,我们应该采取相应的操作。 监听web三大域对象: 快速入门 步骤分析 xml版本 public class MyListener implements ServletContextListener { @Override //监听创建 public void contextInitialized(Se...

等不到的晴天的博客 295

GROMACS自由能景观图绘制全流程:从PCA分析到Origin 3D可视化(附避坑指南)

本文详细解析了使用GROMACS绘制自由能景观图的全流程,涵盖从PCA分析、数据预处理、自由能计算到最终在Origin中进行3D可视化的完整步骤。文章重点分享了数据处理与格式转换中的常见“避坑”指南,帮助研究者从分子动力学轨迹中有效提取并解读构象自由能信息,深化对生物大分子动力学过程的理解。

oauth7security的博客 309

MVC三层架构&&Filter(过滤器)&&Listener(监听器)

MVC三层架构 三层架构 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。 1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。 2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据...

Amber_Flying的博客 945

影刀rpa的使用一--读取excel表格数据并循环出每一项

1、全部展示2、运行结果展示之后可以按照各自的需求对excel中取出的数据进行处理。

qq_69268437的博客 1万+

Megatron单机多卡Qwen2.5:pre-train+sft

英伟达:https://github.com/NVIDIA/Megatron-LM/releases/tag/core_r0.8.0阿里:https://github.com/alibaba/Pai-Megatron-Patch/releases/tag/v0.10.2。

weixin_46873015的博客 2178

Javaweb的三大组件:servlet、filter、listener

Servlet翻译过来是小服务程序,所以呢,在javaweb中Servlet是用来处理客户端请求的动态资源,一般表示小程序,在实际开发javaweb的过程中使用的比较多一些,通常的使用方法是根据具体的业务需求来继承HttpServlet,最后创建Servlet。Servlet的生命周期是,初始化Servlet调用init()方法——调用服务service()方法进行处理doGet和doPost()方法—最后关闭容器调用destroy()销毁方法。

weixin_58545784的博客 263

保姆级教程:用ROS2 Humble + Gazebo Classic 从零搭建一个能键盘控制的差分AGV模型

本文提供了一份详细的ROS2 Humble与Gazebo Classic教程,指导用户从零开始搭建一个键盘控制的差分AGV模型。内容涵盖环境配置、Xacro文件设计、Gazebo仿真集成以及键盘控制实现,特别针对常见问题提供解决方案,帮助开发者快速掌握ROS2机器人仿真技术。

weixin_30387423的博客 168

mvc中web层filter过滤器和listener监听器的详解

web层 Filter Web核心中一共涉及的三大技术 Servlet : server applet 服务器端的小程序(主要处理请求响应的部分) Filter: 过滤器 , 过滤: 将自己所需要的内容留下 不需要的内容剔除 Listener : 监听器 概述 需要配置web.xml(重点) filter创建步骤 创建类 实现javax.servlet.Filter的规范(接口) /** * 1. 创建类 * 2. 实现javax.servlet.Filter的规范(接口) * 3. 通知tom

m0_48811221的博客 718

自定义控件三部曲视图篇(六)——RecyclerView系列之三自定义LayoutManager

前言:把握生命里的每一分钟,全力以赴我们心中的梦,不经历风雨 怎么见彩虹,没有人能随随便便成功 在第一篇中已经讲过,LayoutManager主要用于布局其中的Item,在LayoutManager中能够对每个Item的大小,位置进行更改,将它放在我们想要的位置,在很多优秀的效果中,都是通过自定义LayoutManager来实现的,比如: 可以看到这些效果都非常棒,通过这一节的学习,大...

启舰 1万+

一文读懂“数据分发服务DDS”(Data Distribution Service,RTPS,OMG)

DDS 数据分发服务(Data Distribution Service) 数据分发服务DDS(DataDistributionService)是对象管理组织(OMG)在HLA及CORBA等标准的基础上制定的新一代分布式实时通信中间件技术规范,DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。DDS...

DDS技术交流推广大本营 4万+

过滤Filter、监听listener 登录 注册 强制下线

目录 要求: 一.图片展示 1.登录界面 2.注册界面 3.查询用户登录信息界面 ​二.主要的jsp代码 1.登录---login.jsp2.注册--register.jsp 3.用户登录信息查询---userLoginMsg.jsp 三.主要的java代码 1.工具类 Utils 层 a.Druid工具类的封装 b. UUID工具的封装 2. dao层 3.servlet层 a. 登录 b.注册 4.service层 5.listener层 ...

kelouze06的博客 661

从 SOAUTH2 到系统用户,SAP AS ABAP 里配置 OAuth 2.0 Client 的完整落地思路

SAP OAuth 2.0客户端配置的核心在于建立系统级信任关系。在AS ABAP中,每个OAuth 2.0客户端必须关联一个System类型的用户账号(通过SU01创建),并建议采用业务语义明确的命名规范(如ZBTP_PO_APPROVAL_APP)。关键配置包括:客户端认证方式(推荐SSL证书而非共享密钥)、Token生命周期(默认3600秒)、Scope访问范围,以及根据应用场景选择Authorization Code或SAML 2.0 Bearer等授权模式。项目实践中应避免混合配置不同授权类型,而

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

Sprint Listener 监听器

Listener 监听器     前言:之前写了一篇关于Filter的文章:http://tianweili.github.io/blog/2015/01/26/java-filter/,现在再来一篇Listener的,Filter和Listener在项目中是经常用到的,巧妙的使用可以达到事半功倍的效果。故把两者的用法总结一下。   原文链接:http://tianweili.g

Aeroleo的博客 506

实测!Gemini+ChatGPT赋能学术写作:我的论文写作SOP(附提示词)

各位同仁好,我是七哥。一个在高校里从事人工智能相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude等大模型学术实操相关问题,多多交流,相互成就,共同进步。为什么ChatGPT逻辑清晰却写不长?为什么Gemini能深入分析但废话连篇?这其实是两种模型架构的本质差异,GPT系列擅长指令跟随和语言精炼,而Gemini原生支持超长上下文,适合深度文本生成。两者在深度生成与精炼表达上形成了天然互补。我们可以将它们组合起来使用发挥他们各自的特长。

智能AI让学术科研更容易 520

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

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

Listener模拟单态登录

本文简单列举几个java开发的Listener,以及模拟单态登录的简单demo ServletContextListener ServletContextAttributeListener HttpSessionAttributeListener httpSessionActivationListener HttpSessionBindingListener ServletReques

心有猛虎,细嗅蔷薇 1308

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

三、jsp与Listener监听器

这篇文章是关于JSP(Java Server Pages)的详细介绍,包括JSP的基本概念、用途、语法、内置对象、域对象以及与Servlet的比较。文章还探讨了JSP的输出方式,如`out`和`response.getWriter`的区别,并深入讲解了JSP的静态包含、动态包含和标签转发。最后,文章介绍了Listener监听器,特别是ServletContextListener监听器的作用和实现方式,为Java Web开发者提供了深入理解JSP和监听器的宝贵资料。

weixin_44063529的博客 662

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ANTLR解析Java文件

ANTLR解析Java文件 https://github.com/antlr/grammars-v4.git grammars-v4里提供了Java和其他常用的antlr语法. 最近看的一个项目里实体类会使用 @Model(name=“xxx”) 标注实体类.用@ModelField(name=“xxx”)标注关联的实体. 这里使用antlr解析实体类之间的关联. FileFilter filter = new FileFilter() { @Override public boolean

flyingzc的博客 2160

java web 时间组件_JavaWeb三大组件

Servlet、Filter、Listener1、Servlet:处理请求2、Filter:过滤拦截请求用法:1、实现接口2、到web.xml配置配置:名字全类名名字有三种写法:1、精确匹配:/pics/haha.jsp /hello/login :直接拦截指定的路径2、路径匹配:/pics/*  :拦截/pics下的所有请求3、后缀匹配:*.jsp   :拦截所有以.jsp结尾的请求4、非法...

weixin_36480255的博客 196

java-在ANTLR中,如何从java文件中提取类名和方法名0.1.9

java-在ANTLR中,如何从java文件中提取类名和方法名0.1.1

随笔 845

Java Web 学习

servlet 是 JavaEE 规范之一,规范就是接口Servlet程序、Filter过滤器、Listener监听器Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。

m0_37706089的博客 912

web.xml标签

今天了解了java web的三大组件(Servlet、Filter、Listener),也就是我们在web.xml配置文件中看到的配置标签,三大组件之间的区别与联系,可以百度相应的关键词。简单地说,Filter(过滤器)是用来过滤用户的相关请求的,Listener(监听器)则是监听Servlet的动态,它可以监听客户端的请求、服务端的操作等。 主要有三类: 1.ServletCon...

WillPan1234的博客 415

JavaWeb: Filter和Listener、AJAX、JSON、VUE

JavaWeb: Filter和Listener、AJAX、JSON、VUE

2201_75736541的博客 134

Java深入(面试常见题)

笔试题之Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他。有些题来自网上搜集整理,有些题来自传智播客学员面试后的反馈,说真的,少数一些网上的面试题,我真怀疑其是否还有存在价值! 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有

熊诗言的博客 4766

表达式 jsp_JSP

一、什么是 jsp,它有什么用? jsp 的全称是 java server pages。Java 的服务器页面。因为 Servlet 程序回传 html 页面数据是一件非常繁琐的事情。开发成本和维护成为都极高。 Servlet 回传 html 页面数据的代码: jsp 回传一个简单 html 页面的代码:二、jsp 的本质是什么? jsp 页面本质上是一个...

weixin_33379297的博客 183

运行时看常用的几种设计模式——Design Patterns in Run-time View

运行时看常用的几种设计模式 ——Design Patterns in Run-time View 田海立,系统分析师 <chsdate isrocdate="False" islunardate="False" day="7" month="11" year="2005" w:st="on"><span lang

java开发指南博客 【转载】 96
上一篇: Spring配置文件中使用系统变量
下一篇: 禁用JSF2.x(mojarra)的xhtml缓存,让文件改动立即生效
SpbDev
博客等级 码龄22年 6粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值