首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >HttpSession的监听器

HttpSession的监听器

作者头像
星哥玩云
发布2022-09-14 21:15:41
发布2022-09-14 21:15:41
5810
举报
文章被收录于专栏:开源部署开源部署

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
复制
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
复制
<%@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
复制
<%@ 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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、HttpSession的监听器
  • 2、案例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档