Java如何在更改会话属性时收到通知?
实现HttpSessionAttributeListener将会使servlet容器通知您有关会话属性的更改。通知采用HttpSessionBindingEvent对象的形式。该getName()对象上的on告诉属性的名称,而getValue()方法告诉该属性被添加,替换或删除的值。
package org.nhooo.example.servlet;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
public class SessionAttributeListener implements HttpSessionAttributeListener {
public void attributeAdded(HttpSessionBindingEvent event) {
//将属性添加到会话时,将调用此方法。
//下面的行显示会话属性名称及其值。
System.out.println("Session attribute added: ["
+ event.getName() + "] = [" + event.getValue() + "]");
}
public void attributeRemoved(HttpSessionBindingEvent event) {
//从会话中删除属性时,将调用此方法。
System.out.println("Session attribute removed: ["
+ event.getName() + "] = [" + event.getValue() + "]");
}
public void attributeReplaced(HttpSessionBindingEvent event) {
//在会话中替换礼节时调用此方法。
System.out.println("Session attribute replaced: ["
+ event.getName() + "] = [" + event.getValue() + "]");
}
}侦听器准备就绪后,请不要忘记在Web应用程序部署描述符web.xml文件中对其进行配置。