Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HttpSession的监听器

HttpSession的监听器

作者头像
星哥玩云
发布于 2022-09-14 13:15:41
发布于 2022-09-14 13:15:41
47000
代码可运行
举报
文章被收录于专栏:开源部署开源部署
运行总次数:0
代码可运行

1、HttpSession的监听器

还有一个与HttpSession相关的特殊的监听器,这个监听器的特点如下:

  • 不用在web.xml文件中部署;
  • 这两个监听器不是给session添加,而是给Bean添加。即让Bean类实现监听器接口,然后再把Bean对象添加到session域中。

下面对这个监听器介绍一下

HttpSessionBindingListener:当某个类实现了该接口后,可以感知本类对象添加到session中,以及感知从session中移除。例如让Person类实现HttpSessionBindingListener接口,那么当把Person对象添加到session中,或者把Person对象从session中移除时会调用下面两个方法:

public void valueBound(HttpSessionBindingEvent event):当把监听器对象添加到session中会调用监听器对象的本方法;

public void valueUnbound(HttpSessionBindingEvent event):当把监听器对象从session中移除时会调用监听器对象的本方法;

这里要注意,HttpSessionBindingListener监听器的使用与前面介绍的都不相同,当该监听器对象添加到session中,或把该监听器对象从session移除时会调用监听器中的方法。并且无需在web.xml文件中部署这个监听器。

2、案例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class User implements HttpSessionBindingListener {
	private String username;
	private String password;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public void valueBound(HttpSessionBindingEvent event) {
		System.out.println("我添加到session域中去了");
		
	}
	public void valueUnbound(HttpSessionBindingEvent event) {
		System.out.println("我从session域中被移除了");
		
	}
	
}

add.jsp

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%@page import="com.javaweb.listener.demo.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	session.setAttribute("user", new User());
%>
</body>
</html>

remove.jsp

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	session.removeAttribute("user");
%>
</body>
</html>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Listener监听器,实现一个显示在线用户人数
Listener 监听器是Servlet规范中的一员。就像Filter一样。Filter也是Servlet规范中的一员。
RainbowSea
2023/05/09
6740
web的监听器,你需要知道这些...
方志朋
2017/12/29
6560
Web监听器导图详解
  监听器是JAVA Web开发中很重要的内容,其中涉及到的知识,可以参考下面导图: Web监听器   1 什么是web监听器?   web监听器是一种Servlet中的特殊的类,它们能帮助开发者监听
用户1154259
2018/01/17
7330
Web监听器导图详解
JSP的Web监听器(Listener)
Listener的原理是基于观察者模式的,所谓观察者模式简单来说,就是当被观察者的特定事件被触发(一般这某些方法被调用)后,会通知观察者(调用观察者的方法),观察者可以在自己的方法中来对事件做一些处理。 在我们的JavaWeb中,观察者就是Listener,而被观察者可能有三个ServletContext、HttpSession、ServletRequest。而事件指的就是这些对象的创建、修改和删除等。
全栈程序员站长
2022/08/04
7820
JSP的Web监听器(Listener)
Listener与Filter监听器基础使用
[TOC] 1.Listener 1) 基础介绍 Q:Listener是什么?有什么用? 答:Listener监听器,用于监听某一个事件的发生。 Q:监听器的内部机制是什么? 答:实就是接口回调,事件
全栈工程师修炼指南
2020/10/23
6130
Listener与Filter监听器基础使用
Servlet总结五(监听器)
生命周期监听器 生命周期就是从创建到销毁,因此顾名思义,就是在对象创建的时候会触发,销毁的时候也会触发
爱撒谎的男孩
2019/12/31
5230
Struts2+DAO层实现实例03——添加监听器跟踪用户行为
  同时,Action中获取Application,Session,request的方法(在此只列出一种)更多方法
Rekent
2018/09/04
7930
javaee的OA项目(七)监听器的使用
如果对象从session中解绑的时候或者session注销的时候就会执行valueUnbound
一写代码就开心
2021/06/17
4150
javaee的OA项目(七)监听器的使用
监听器第一篇【基本概念、Servlet各个监听器】
什么是监听器 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。。 为什么我们要使用监听
Java3y
2018/03/15
9880
监听器第一篇【基本概念、Servlet各个监听器】
java监听器从入门到放弃?
监听器就是实现一个特定接口的java程序,此程序专门用来监听另一个类方法的调用。java的awt大量的运用到了此种模式,例如可以给button对象添加一个点击事件,当鼠标点击时,就会调用事件处理程序。又如:在javascript事件中也运用到了此种模式,当用户点击鼠标时,会触发一个鼠标点击事件去调用程序员定义的事件处理程序。下面就以GUI编程来说明监听器。监听器都使用到了观察者模式,观察者模式所定义的对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖他的对象都会得到通知自动更新。
好好学java
2018/09/21
2.9K0
java监听器从入门到放弃?
大数据必学Java基础(一百一十五):Session域监听器
HttpSessionListener HttpSessionAttributeListener HttpSessionBindingListener HttpSessionActivationListener
Lansonli
2022/12/23
3500
大数据必学Java基础(一百一十五):Session域监听器
Web-第十七天 监听器Listener【悟空教程】
当我们使用QQ时,在生日当天会收到QQ系统发送的祝福邮件。今天我们将实现相同的功能。
Java帮帮
2018/07/27
8060
Web-第十七天 监听器Listener【悟空教程】
操作域属性的监听器
ServletContextAttributeListener:在ServletContext域进行增、删、改属性时调用下面方法。
星哥玩云
2022/09/14
2670
【愚公系列】2023年03月 Java教学课程 098-Servlet服务器的Listener
观察者设计模式是一种行为型设计模式,它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象。当主题对象状态发生变化时,它会通知所有的观察者对象,使它们能够自动更新自己。
愚公搬代码
2023/03/27
4680
【愚公系列】2023年03月 Java教学课程 098-Servlet服务器的Listener
Servlet技术
Servlet是一种独立于平台和协议的服务器端的Java技术,他使用Java语言编写,可以用来生成动态的Web页面。
海盗船长
2020/08/27
5450
day17_Listener与Filter学习笔记
    事件:就是一个事情。     事件源:产生这个事情的源头。     监听器:用于监听指定的事件的对象。(关联事件和事件源)     注册监听:要想让监听器可以监听到事件产生,必须对其进行注册。
黑泽君
2018/10/11
4010
day17_Listener与Filter学习笔记
JavaWeb(六)Listener监听器
监听器 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。 Servlet监听器 在Servlet规范中定义了多种类型的监听器,它们用于监听的事件源分别为 ServletContext, HttpSession 和 ServletRequest 这三个域对象。 Servlet规范针对这三个对象上的操作,又把这多种类型的监听器划分为三种类型。 监听三个域对象创建和销毁的事件监听器 监听域对象中属性的
二十三年蝉
2018/02/28
2.2K0
JavaWeb(六)Listener监听器
Servlet规范中的监听器-Listener
在介绍监听器之前,先跟同学们普及一个知识,观察者设计模式。因为所有的监听器都是观察者设计模式的体现。
楠羽
2022/11/18
6680
Servlet规范中的监听器-Listener
动态网页(监听器)
它的作用与谍战片中的监听器相同,用来监听或监控你干了什么,只不过谍战片中监听对象是人,而动态网页中监听对象是代码。
全栈开发日记
2022/05/13
6530
Listener
监听器也是一个接口,实现该接口的类会监听其他类的方法调用或属性改变,当发生被监听的事件后,监听器将执行指定的方法,而且不需要像监听器模式那样亲自向事件源注册,Tomcat服务器已经帮我们完成了
晚上没宵夜
2020/03/10
4400
相关推荐
Listener监听器,实现一个显示在线用户人数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验