当前位置: 首页 > news >正文

Servlet中八个监听器介绍

一、监听对象创建的监听器

1、ServletContextListener

/*** 用于监听ServletContext对象创建和销毁的监听器* @since v 2.3*/public interface ServletContextListener extends EventListener {/***	对象创建时执行此方法。该方法的参数是ServletContextEvent事件对象,事件是【创建对象】这个动作*  事件对象中封装着触发事件的来源,即事件源,就是ServletContext*/public default void contextInitialized(ServletContextEvent sce) {}/*** 对象销毁执行此方法*/public default void contextDestroyed(ServletContextEvent sce) {}
}

2、HttpSessionListener

/*** 用于监听HttpSession对象创建和销毁的监听器* @since v 2.3*/
public interface HttpSessionListener extends EventListener {/*** 对象创建时执行此方法。*/public default void sessionCreated(HttpSessionEvent se) {}/***  对象销毁执行此方法*/public default void sessionDestroyed(HttpSessionEvent se) {}
}

3、ServletRequestListener

/*** 用于监听ServletRequest对象创建和销毁的监听器* @since Servlet 2.4*/
public interface ServletRequestListener extends EventListener {/***  对象创建时执行此方法。*/public default void requestInitialized (ServletRequestEvent sre) {}/*** 对象销毁执行此方法*/public default void requestDestroyed (ServletRequestEvent sre) {} 
}

二、监听域中属性发生变化的

1、ServletContextAttributeListener

/*** 用于监听ServletContext域(应用域)中属性发生变化的监听器* @since v 2.3*/public interface ServletContextAttributeListener extends EventListener {/*** 域中添加了属性触发此方法。参数是ServletContextAttributeEvent事件对象,事件是【添加属性】。* 事件对象中封装着事件源,即ServletContext。* 当ServletContext执行setAttribute方法时,此方法可以知道,并执行。*/public default void attributeAdded(ServletContextAttributeEvent scae) {}/*** 域中删除了属性触发此方法*/public default void attributeRemoved(ServletContextAttributeEvent scae) {}/*** 域中属性发生改变触发此方法*/public default void attributeReplaced(ServletContextAttributeEvent scae) {}
}

2、HttpSessionAttributeListener

/*** 用于监听HttpSession域(会话域)中属性发生变化的监听器* @since v 2.3*/
public interface HttpSessionAttributeListener extends EventListener {/*** 域中添加了属性触发此方法。*/public default void attributeAdded(HttpSessionBindingEvent se) {}/*** 域中删除了属性触发此方法*/public default void attributeRemoved(HttpSessionBindingEvent se) {}/*** 域中属性发生改变触发此方法*/public default void attributeReplaced(HttpSessionBindingEvent se) {}
}

3、ServletRequestAttributeListener

/*** 用于监听ServletRequest域(请求域)中属性发生变化的监听器* @since Servlet 2.4*/
public interface ServletRequestAttributeListener extends EventListener {/*** 域中添加了属性触发此方法。*/public default void attributeAdded(ServletRequestAttributeEvent srae) {}/*** 域中删除了属性触发此方法*/public default void attributeRemoved(ServletRequestAttributeEvent srae) {}/*** 域中属性发生改变触发此方法*/public default void attributeReplaced(ServletRequestAttributeEvent srae) {}
}

三、和会话相关的两个感知型监听器

1、HttpSessionBinderListener

/*** 用于感知对象和会话域绑定的监听器* 当有数据加入会话域或从会话域中移除,此监听器的两个方法会执行。* 加入会话域即和会话域绑定* 从会话域移除即从会话域解绑*/
public interface HttpSessionBindingListener extends EventListener {/*** 当数据加入会话域时,也就是绑定,此方法执行*/public default void valueBound(HttpSessionBindingEvent event) {}/*** 当从会话域移除时,也就是解绑,此方法执行*/public default void valueUnbound(HttpSessionBindingEvent event) {}
}

2、HttpSessionActivationListener

/*** 用于感知会话域中对象钝化和活化的监听器*/
public interface HttpSessionActivationListener extends EventListener {/*** 当会话域中的数据钝化时,此方法执行*/public default void sessionWillPassivate(HttpSessionEvent se) {}/*** 当会话域中的数据活化时(激活),此方法执行*/public default void sessionDidActivate(HttpSessionEvent se) {}
}

相关文章:

Servlet中八个监听器介绍

一、监听对象创建的监听器 1、ServletContextListener /*** 用于监听ServletContext对象创建和销毁的监听器* since v 2.3*/public interface ServletContextListener extends EventListener {/*** 对象创建时执行此方法。该方法的参数是ServletContextEvent事件对象&#xf…...

LicenseBox Crack,对服务器的要求最低

LicenseBox Crack,对服务器的要求最低 LicenseBox是用于管理基于PHP的软件、WordPress插件或主题、主题、插件和WordPress的更新和许可的完整软件。它易于安装,对服务器的要求最低,用户友好的界面,无限脚本的使用为您的创造力打开了大门。 Li…...

css中重难点整理(vertical-align)

一、vertical-align 在学习vertical-align的时候,可能会很困惑。即使网上有一大推文章讲veitical-align,感觉看完好像懂了,等自己布局的时候用到vertical-align的时候好像对它又很陌生。这就是我在布局的时候遇到的问题。 本来vertical-align就很不好理…...

javaScript基础面试题 ---宏任务微任务

宏任务微任务一、为什么JS是单线程语言?二、JS是单线程,怎样执行异步代码?1、JS是单线程语言 2、JS代码执行流程,同步执行完,再进行事件循环(微任务、宏任务) 3、清空所有的微任务,再…...

基于JSP的网上书城

技术:Java、JSP等摘要:随着科技的迅速发展,计算机技术已应用到社会的各个领域。随着计算机技术和通信技术的迅速发展,网络的规模也逐渐增大,网络的元素也随之不断增加,有的利用其通信,有的利用其…...

C#教程 05 常量

文章目录 C# 常量整数常量浮点常量字符常量字符串常量定义常量C# 常量 常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。 常量可以被当作常规的变量,只是它们的值在定义后不能被修改。 整数…...

【华为OD机试真题java、python】基站维修工程师【2022 Q4 100分】(100%通过)

代码请进行一定修改后使用,本代码保证100%通过率。本文章提供java、python两种代码 题目描述 小王是一名基站维护工程师,负责某区域的基站维护。 某地方有 n 个基站( 1<n<10 ),已知各基站之间的距离 s( 0<s<500 ), 并且基站 x 到基站 y 的距离,与基站 y …...

你是真的“C”——为冒泡排序升级赋能!

你是真的“C”——为冒泡排序升级赋能&#xff01;&#x1f60e;前言&#x1f64c;冒泡排序升级赋能之境界一&#xff01;冒泡排序升级赋能之境界二&#xff01;qsort库函数的运用和认识总结撒花&#x1f49e;&#x1f60e;博客昵称&#xff1a;博客小梦 &#x1f60a;最喜欢的…...

【JavaEE】基于mysql与servlet自制简易的表白墙程序

文章目录1 表白墙页面构建2 Servlet 回顾3 表白墙后端程序实现3.1 我们需要做什么&#xff1f;3.2 实现细节4 实现结果写在最后1 表白墙页面构建 该页面由标题、文本、三个 input 输入框与一个提交按钮构成&#xff0c;整体比较简单&#xff0c;相关样式文件和页面代码会在后面…...

抓包技术(浏览器APP小程序PC应用)

P1 抓包工具 01. Fidder 首先第一个Fiddler它的优势&#xff0c;独立运行&#xff0c;第二个支持移动设备&#xff08;是否能抓移动APP的包&#xff0c;&#xff09;在这一块的话wireshark、httpwatch就不支持&#xff0c;因此在这一块就可以排除掉前连个&#xff0c;因为我们…...

linux笔记(10):ubuntu环境下,基于SDL2运行lvgl+ffmpeg播放mp4

文章目录1.ubuntu安装ffmpeg1.1 源码安装1.1 克隆ffmpeg源码1.2 配置编译条件&#xff0c;编译&#xff0c;安装1.2 直接安装依赖包2.下载lvgl源码2.1 测试原始代码2.2 运行lv_example_ffmpeg_2()例程2.2.1 配置 LV_USE_FFMPEG 为 12.2.2 lv_example_ffmpeg_2()替换lv_demo_wid…...

JavaScript专题之类型判断(下)

参考原文&#xff1a;JavaScript专题之类型判断(下) 前言 在上篇《JavaScript专题之类型判断(上)》中&#xff0c;我们抄袭 jQuery 写了一个 type 函数&#xff0c;可以检测出常见的数据类型&#xff0c;然而在开发中还有更加复杂的判断&#xff0c;比如 plainObject、空对象…...

【VC 7/8】vCenter Server 基于文件的备份和还原Ⅲ—— 使用 SMB 协议备份 VC(VAMI 中文)

目录2.2 使用 SMB 协议备份 VC&#xff08;VAMI 中文&#xff09;&#xff08;1&#xff09;登录 vCenter Server 管理界面&#xff08;2&#xff09;进入备份页面&#xff08;3&#xff09;配置 Backup Schedule&#xff08;4&#xff09;开始备份&#xff08;5&#xff09;备…...

linux - 内核编译

一. 编译的实质基于头文件和c文件--->产生对象文件(.o)将所有的对象文件链接起来&#xff0c;产生可执行文件。内核的编译系统组成Makefile分布在内核源代码中的Makefile&#xff0c; 定义内核的编译规则&#xff0c;配合Kconfig使用。Kconfig配置文件&#xff0c;给用户提供…...

Spring——配置文件实现IOC和DI入门案例

现在先如图创建如下的Maven项目&#xff0c;在业务层和数据层分别写上对应的接口和实现类 在BookServiceImpl中创建一个BookDaoImpl对象&#xff0c;并调用里面的save()方法。 在测试类里面new一个bookservice的实现类&#xff0c;调用save()方法 输出如下图所示 要使用IOC容…...

机器学习100天(四十一):041 对偶支持向量机-公式推导

《机器学习100天》完整目录:目录 机器学习 100 天,今天讲的是:对偶支持向量机-公式推导! 本节主要延续上一节的内容,推导线性支持向量机的对偶形式。本节内容包含的数学理论和推导很多,我尽量简化其中的数学部分,只做感性的介绍,便于大家在理解的同时不受数学复杂公式…...

C语言下的signal()函数

signal()简介 signal() 函数是 C 语言中用于处理系统信号的函数。它在 signal.h 头文件中进行声明。信号用作进程间通信&#xff0c;报告异常行为&#xff0c;例如除零&#xff0c;或用户的一些按键组合&#xff0c;例如同时按下 Ctrl 与 C 键&#xff0c;产生信号 SIGINT。 …...

google独立站和与企业官网的区别是什么?

google独立站和与企业官网的区别是什么&#xff1f; 答案是&#xff1a;独立站通过谷歌SEO优化可以更好的获取自然排名的流量。 随着互联网的不断发展&#xff0c;企业越来越重视自身网站的建设和优化&#xff0c;而在企业网站建设中&#xff0c;很多人会犯一个常见的错误&am…...

Vue3---语法初探

目录 hello world 实现简易计时显示 反转字符串 显示隐藏 了解循环 了解双向绑定实现简易记事 设置鼠标悬停的文本 组件概念初探&#xff0c;进行组件代码拆分 hello world 最原始形态&#xff0c;找到 id 为 root 的标签&#xff0c;将 Vue 实例的模板放入标签之内 …...

esp8266WiFi模块通过MQTT连接华为云

esp8266WiFi模块通过MQTT连接华为云总结&#xff1a;一、 MQTT透传AT固件烧录二、 串口调试2.1 设置模块为STA模式2.2 连接WiFi2.3 设置MQTT的登陆用户名与密码2.4 设置MQTT的ClientID2.5 设置MQTT接入地址2.6 订阅设备属性上报的主题2.7 上传数据2.8 平台下发命令2.9 华为云物…...

图深度学习文献宝库LiteratureDL4Graph:一站式掌握图神经网络研究进展

图深度学习文献宝库LiteratureDL4Graph&#xff1a;一站式掌握图神经网络研究进展 【免费下载链接】LiteratureDL4Graph 项目地址: https://gitcode.com/gh_mirrors/li/LiteratureDL4Graph 想要快速掌握图神经网络(GNN)和图深度学习的最新研究进展吗&#xff1f;Litera…...

缠论量化工程化:从痛点突破到智能交易系统构建

缠论量化工程化&#xff1a;从痛点突破到智能交易系统构建 【免费下载链接】chan.py 开放式的缠论python实现框架&#xff0c;支持形态学/动力学买卖点分析计算&#xff0c;多级别K线联立&#xff0c;区间套策略&#xff0c;可视化绘图&#xff0c;多种数据接入&#xff0c;策略…...

GLM-4.1V-9B-Base多场景落地:医疗影像辅助描述、零售货架识别、文旅导览图解

GLM-4.1V-9B-Base多场景落地&#xff1a;医疗影像辅助描述、零售货架识别、文旅导览图解 1. 模型介绍 GLM-4.1V-9B-Base是智谱开源的一款视觉多模态理解模型&#xff0c;专门针对图像内容识别、场景描述和目标问答等任务进行了优化。这个模型特别擅长处理中文视觉理解任务&…...

终极指南:如何在Windows 10上免费安装Android子系统

终极指南&#xff1a;如何在Windows 10上免费安装Android子系统 【免费下载链接】WSA-Windows-10 This is a backport of Windows Subsystem for Android to Windows 10. 项目地址: https://gitcode.com/gh_mirrors/ws/WSA-Windows-10 想在Windows 10电脑上畅玩手机游戏…...

3个核心技巧:Element Plus效率提升与性能优化指南

3个核心技巧&#xff1a;Element Plus效率提升与性能优化指南 【免费下载链接】element-plus &#x1f389; A Vue.js 3 UI Library made by Element team 项目地址: https://gitcode.com/GitHub_Trending/el/element-plus 副标题&#xff1a;面向初中级开发者的Element…...

别再只看波形了!用Maxwell+Matlab深度分析电机空载气隙磁密的谐波极对数分布

电机电磁设计进阶&#xff1a;从Maxwell FFT到Matlab谐波极对数分析的工程实践 在电机设计领域&#xff0c;空载气隙磁密的谐波分析一直是评估电磁性能的核心手段。传统方法往往止步于波形观察和简单频谱分析&#xff0c;却忽略了谐波极对数分布这一关键维度——它直接关联着电…...

深入解析Nordic NRF52832的NFC天线与GPIO复用设计

1. NFC天线硬件设计基础 NRF52832芯片的NFC功能通过P0.09和P0.10两个专用引脚实现&#xff0c;这两个引脚在设计时需要特别注意硬件连接规范。实际项目中&#xff0c;我遇到过不少开发者直接将这两个引脚当作普通GPIO使用导致通信异常的情况——因为默认状态下它们被硬件映射为…...

如何突破思维导图协作瓶颈?云端协同与知识管理新方案

如何突破思维导图协作瓶颈&#xff1f;云端协同与知识管理新方案 【免费下载链接】kityminder 百度脑图 项目地址: https://gitcode.com/gh_mirrors/ki/kityminder 在数字化办公环境中&#xff0c;思维导图作为梳理思路、规划项目的重要工具&#xff0c;其价值已得到广泛…...

宠物店主的福音:用LongCat一键生成宠物服装电商主图,省时省力

宠物店主的福音&#xff1a;用LongCat一键生成宠物服装电商主图&#xff0c;省时省力 1. 为什么宠物店主需要AI图片编辑工具 开宠物店的朋友们都知道&#xff0c;商品主图的质量直接影响销量。一件宠物小衣服&#xff0c;如果只是平铺拍摄或者随便套在模特身上&#xff0c;很…...

uniapp集成腾讯地图:从marker点聚合到轨迹回放的跨端实战与性能调优

1. uniapp集成腾讯地图SDK的核心步骤 第一次在uniapp里用腾讯地图SDK时&#xff0c;我踩了个大坑——直接在H5端跑代码发现地图出不来。后来才明白&#xff0c;腾讯地图在H5端需要单独配置安全域名。具体操作是在腾讯地图开放平台申请key时&#xff0c;必须把H5的域名加入白名单…...