HttpSessionBindingListener的valueUnbound方法问题

学习Servlet监听器:
对于HttpSessionBindingListener的疑问:
写的代码如下:
创建一个监听器类:
package listener;

import javax.servlet.http.*;

public class BindingSession implements HttpSessionBindingListener{
	public void valueBound(HttpSessionBindingEvent se){
		System.out.println("bvalueBound:"+se.getName()+"-->"+se.getValue());
	}
	
	public void valueUnbound(HttpSessionBindingEvent se){
		System.out.println("bvalueUnbound:"+se.getName()+"-->"+se.getValue());
	}
}


写JSP页面
session.setAttribute("s4",new BindingSession());
session.removeAttribute("s4");


在第一次访问的时候很正常:
输出:bvalueBound:S4--->listener.BindingSession@4123

但问题是:在刷新之后,出现了
bvalueBound:S4--->listener.BindingSession@4331
bvalueUnbound:S4--->null

为什么unbound方法被触发了呢?还输出一个null,对于unbound不是在移除session,session超时的时候才被触发的吗?这个很不解!

你可能感兴趣的:(jsp,servlet)