监听器Listener

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

监听器

1.介绍

web 监听器是一种 Servlet 中的特殊的类,它们能帮助开发者监听 web 中的特定事件, 比如 ServletContext,HttpSession,ServletRequest 的创建和销毁;变量的创建、销毁和修改等。 可以在某些动作前后增加处理,实现监控。

2.实现

监听器有三类 8 种:⑴监听生命周期:实现接口 ServletRequestListener、HttpSessionListener 、 ServletContextListener⑵监听值的变化:实现接口ServletRequestAttributeListener、HttpSessionAttributeListener、
ServletContextAttributeListener ⑶针对 session 中的对象:监听 session 中的java 对象(javaBean) 是 javaBean 直接实现监听器 接口。这里我们只做一个简单的演示。假设我们想做一个对在线人数的监控。

Step1:创建一个监听器,需要实现某种接口,根据需求选取HttpSessionListener 

Step2:在 web.xml 中配置该监听器

创建一个类,并实现 HttpSessionListener 接口,用来检测 Session 的创建和销毁。 在类中定义一个成员变量用来存储当前的 session 个数。

实例:统计在线人数

(以下代码实现了不同浏览器同时访问或退出页面进行人数的实时统计)

/**
 * 统计在线人数
 */
public class OnlineServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		// 设置响应类型及编码格式
		response.setContentType("text/html;charset=UTF-8");
		
		// 获取在线人数的数量
		// 得到appliction对象,并获取存到application域对象中的值
		Integer onlineNumber = (Integer) request.getSession().getServletContext().getAttribute("onlineNumber");
		
		// 得到字符输出流
		PrintWriter out = response.getWriter();
		
		// 得到当前访问的IP地址
		String ip = request.getRemoteAddr();
		System.out.println("当前IP:" + ip);
		
		out.write("<h2>在线人数统计</h2><h3>当前人数为:"+ onlineNumber+"</h3><h3>当前IP:"+ip+"</h3><h4><a href='logout'>退出</a></h4>" );
		
	}

}

Listener在线监听

/**
 * 实现在线人数统计
 * 	当session对象被创建时,在线人数+1;
 * 	当session对象被销毁时,在线人数-1
 */
public class OnlineListener implements HttpSessionListener {
	// 默认在线人数
	private Integer onlineNumber = 0;
    public OnlineListener() {
    }
    /**
     * session被创建
     */
    public void sessionCreated(HttpSessionEvent se)  { 
    	// 人数+1
    	onlineNumber++;
    	// 设置到域对象中
    	se.getSession().getServletContext().setAttribute("onlineNumber", onlineNumber);
    }
    /**
     * session被销毁
     */
    public void sessionDestroyed(HttpSessionEvent se)  { 
    	// 人数-1
    	onlineNumber--;
    	// 设置到域对象中
    	se.getSession().getServletContext().setAttribute("onlineNumber", onlineNumber);  	
    }	
}

 销毁session

public class LogoutServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 手动销毁session
		request.getSession().invalidate();
	}
}

 

Day61 Listener监听器 JavaWeb 三大组件(Servlet、Filter、Listener) 阅读详情

相关推荐

Listener(监听器)

在介绍 Listener(监听器)之前,需要先了解观察者设计模式,因为所有的监听器都是观察者设计模式的体现。那么什么是观察者设计模式呢?它是事件驱动的一种体现形式。就好比在做什么事情的时候被人盯着,当做了某件事时,就会触发事件。事件源:触发事件的对象。事件:触发的动作,里面封装了事件源。监听器:当事件源触发事件时,要做的事情。一般是一个接口,由使用者来实现。(此处还涉及一种设计模式的思想:策略模式)在程序当中我们可以对以下情况进行监听:对象的创建销毁、域对象中属性的变化、会话相关内容。

专注于技术分享的博主 1219

监听器-Listener

监听器-Listener1.1 监听对象创建的监听器1.2监听域中属性发生变化的1.3 和会话相关的两个感知型监听器2. 监听器的使用2.1 ServletContextListener的使用2.2 ServletContextAttributeListener的使用

qq_52963857的博客 274

Cadence仿真MOS电容C-V曲线:从电路图到参数扫描的完整流程

本文详细介绍了使用Cadence Virtuoso仿真MOS电容C-V曲线的完整流程,从电路图绘制到参数扫描,再到结果分析与问题排查。通过实际案例和实用技巧,帮助工程师快速掌握MOS电容特性分析的关键步骤,提升集成电路设计效率。

weixin_29271263的博客 431

监听器 Listener

在Java Web中,监听器是Servlet规范中定义的一种特殊类,用于监听Web应用程序中的ServletContext、HttpSession和ServletRequest等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。当这些事件发生时,监听器可以触发回调函数,反馈给程序去做一些响应的处理。

/*多学习 不油腻*/ 2418

电机控制-PMSM无感FOC控制(四)SVPWM——过调制

上一章我们提到了SVPWM矢量合成的范围在一个平面的矢量圆内,那么当电压矢量超出调制范围时,该怎么做呢?这就是过调制要解决的问题。电机控制-PMSM无感foc控制(三)SVPWM据之前讲解的内容我们可以知道,SVPWM技术在电压空间上模拟了一个近似于圆的电压轨迹,减小了相电流的谐波,降低了电机的谐波损耗,抑制了转矩脉动。然而,SVPWM技术也存在一些问题,合成电压矢量有极限便是其中之一。这个半径为√3/3Vdc的区域也被称作SVPWM的线性区域。

zhuxinmingde的博客 1315

3D高斯泼溅实战:如何用自采数据集训练出高质量3D模型(附COLMAP避坑指南)

本文详细介绍了使用自采数据集训练高质量3D高斯泼溅模型的完整实战流程。从数据采集规范、COLMAP稀疏重建的深度配置与避坑指南,到数据格式转换及3DGS训练调优策略,提供了针对自采数据的关键参数调整与问题排查方案,帮助读者高效构建专属3D场景。

g9h0i1的博客 977

认识监听器(Listener)

监听器(Listener)是一种运行在后台的程序,它主要用于监控某些事件在系统中的发生,并且根据这些事件做一些特定的处理。在Web应用程序中,监听器可以观察ServletContext、HttpSession以及ServletRequest等对象的变化,以便于在这些对象变化时进行相应的处理。除了上述标准的监听器,开发者也可以自定义监听器来监听特定的事件,这也是监听器的优秀之处。监听器的主要用途是监控Web应用程序中某些特定的事件的发生,并在这些事件发生时执行预定义的操作或处理逻辑。

m0_71461928的博客 3021

EWF写保护功能详解:从安装到实战操作指南

本文详细介绍了EWF写保护功能的安装与实战操作指南。EWF(Enhanced Write Filter)通过重定向写入操作保护硬盘分区,特别适合需要长期稳定运行的系统场景。文章涵盖从安装准备、图形界面操作到命令行高级管理的全流程,并提供了常见问题的解决方案,帮助用户轻松掌握这一实用工具。

weixin_28710999的博客 446

监听器(Listener)详解

本文深入讲解Servlet规范中的8种监听器接口,通过代码示例演示应用启动/关闭、会话管理、属性变更等监听场景,对比不同作用域监听器的线程安全性,分析监听器与过滤器、拦截器的核心差异,帮助开发者掌握这一Java Web核心技术,实现资源管理、在线统计等高级功能。

m0_73941339的博客 2213

利用python爬取东方财富网股吧评论并进行情感分析(一)

利用python爬取东方财富网股吧评论(一) python-东方财富网贴吧文本数据爬取 分享一下写论文时爬数据用到的代码,有什么问题或者改善的建议的话小伙伴们一起评论区讨论。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图片拖拽 功能,你可以将本地的图片直

YMG521000的博客 1万+

对称加密中GCM和CBC俩种加密模式的区别

**CBC(Cipher Block Chaining)** 和 **GCM(Galois/Counter Mode)** 是两种常见的对称加密模式。它们的主要区别体现在加密方式、性能和安全性上。

闲人 1107

servlet监听器Listener介绍和使用

1监听器Listener 1.1 Listener简介 javaEE包括13门规范 在课程中主要学习 servlet技术 和 jsp技术,其中 servlet规范包括三个技术点:servlet,listener,filter 什么是监听器? 监听器就是监听某个对象的的状态变化的组件 监听器的相关概念: 事件源:被监听的对象 ----- 三个域对象 request ...

苏凯的博客 2万+

【AI Agent】Harness Engineering实践

Harness(运行宿主)是围绕 LLM构建的一套确定性工程系统,其核心职责是:承认模型的固有局限,用可控的工程手段逐一弥补,使"强大但不可靠的推理引擎"变成"可信赖的生产级Agent"模型 是发动机——提供原始动力Agent 是驾驶员——做出决策Harness 是道路、地图、护栏、仪表盘、维修站和质检线——确保行驶安全有序没有Harness,模型越强,可能只是更快地制造混乱。

sysu_lluozh 192

Listener 监听器

1、什么是 Listener 监听器? 1、Listener 监听器它是 JavaWeb 的三大组件之一。JavaWeb 的三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监 听器。 2、Listener 它是 JavaEE 的规范,就是接口 3、监听器的作用是,监听某种事物的变化。然后通过回调函数,反馈给客户(程序)去做一些相应的处理。 2、ServletContextListener 监听器 ServletContextListener 它可以监听 ServletConte

qq_45554909的博客 216

华为OD机考双机位C卷 - 评委评分 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 评委评分 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 1750

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JavaWeb开发(十二)监听器Listener

监听Httpsession域的创建于销毁的监听器HttpSessionListener。HttpSession对象的生命周期:(1)创建:第一次调用request.getSession时创建。(2)销毁:服务器关闭销毁session过期手动销毁。ServletRequestlistener监听ServletRequest域创建与销毁的监听器ServletRequestListenerServletRequest的生命周期(1)创建:每一次请求都会创建request。

qq_36158551的博客 1041

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Javaweb开发核心知识之Listener监听器

监听器器是一个实现了特定接口的普通Java类,用于监听其他对象的创建和销毁,监听其他对象的方法执行和属性改变;(4)旧版的在web.xml⽂文件中通过标签来配置监听器,新版使用注解@WebListener。作用:监听域对象的创建和销毁,比如request/session/context。简介:讲解Servlet⾥里里⾯面的监听器器Listener。监听 ServletContext 的创建和销毁。(3)在该类中实现监听器器接口的所有方法。(2)让该类实现监听器器的接口。监听每个请求的创建和销毁。

weixin_67996964的博客 1104

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

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

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

监听器Listener学习总结

一、监听器Listener javaEE包括13门规范 主要学习 servlet技术 和 jsp技术 其中 servlet规范包括三个技术点:servlet listener filter 1、什么是监听器? 监听器就是监听某个对象的的状态变化的组件 监听器的相关概念: 事件源:被监听的对象 ----- 三个域对象 request session servletContex...

Marmara 786

web之监听器listener

1.监听器的基本使用 2.案例:在线人数案例,访问人数案例和session管理器

qq_45337431的博客 392
上一篇: 过滤器
下一篇: servlet3.0注解
Cap绛琛tain
博客等级 码龄8年 4粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值