jsp--对象感知监听器

实现HttpSessionBindingListener接口

实现此接口类的类,不必在web.xml中进行配置。
实现此接口的类,通常是一个JavaBean,一个JavaBean通过实现此接口,(

Javabean 就是一个类,这个类就定义一系列 get<Name> 和 set<Name> 方法。

Javabean 就是为了和 jsp 页面传数据化简交互过程而产生的。

)可以感知自己是否添加到了Session中。或是感知自己是否从Session中移除。

package com.bhkj.ListenerDemo.listener;

import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;

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 getPassowrd() {
		return password;
	}
	public void setPassowrd(String passowrd) {
		this.password = passowrd;
	}
	@Override
	public String toString() {
		return "User [username=" + username + ", passowrd=" + password + "]";
	}
	
	/*
	 * 绑定和解绑
	 */
	@Override
	public void valueBound(HttpSessionBindingEvent event) {
		System.out.println("放到session中了");
	}
	@Override
	public void valueUnbound(HttpSessionBindingEvent event) {
		System.out.println("从session中移除了");
	}
	
}

通过valueBound()和valueUnbound()感知session是否存在。然后创建一个servlet容器

package com.bhkj.ListenerDemo.listener.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.bhkj.ListenerDemo.listener.User;

public class HttpSessionBindingListenerServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		User user = new User();
		HttpSession session = request.getSession();
		session.setAttribute("user", user);
		//session.removeAttribute("user");
		out.flush();
		out.close();
	}
	
}
创建一个session,通过浏览器访问创建好servlet,然后我们就可以在控制台看到输出语句



然后移除session后观察

老师说这让他联想到了机器人,有了人类的感知。。。。。。<-------明明是代码------>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值