具体描述摘自:
http://blog.csdn.net/gaogaoshan/article/details/7423132
1、对Servlet上下文进行监听
可以监听ServletContext对象的创建和删除以及属性的添加、删除和修改等操作。该监听器需要使用到如下两个接口类:
ServletContextAttributeListener:监听对ServletContext属性的操作,如增加、删除、修改操作。ServletContextListener:监听ServletContext。当创建ServletContext时,激发contextInitialized (ServletContextEvent sce)方法;当销毁ServletContext时,激发contextDestroyed(ServletContext- Event sce)方法。2、监听Http会话
可以监听Http会话活动情况、Http会话中属性设置情况,也可以监听Http会话的active、paasivate情况等。 该监听器需要使用到如下多个接口类:
HttpSessionListener:监听HttpSession的操作。当创建一个Session时,激发session Created (SessionEvent se)方法;当销毁一个Session时,激发sessionDestroyed (HttpSessionEvent se) 方法。HttpSessionActivationListener:用于监听Http会话active、passivate情况。HttpSessionAttributeListener:监听HttpSession中属性的操作。当在Session增加一个属性时,激发attributeAdded(HttpSessionBindingEvent se) 方法;当在Session删除一个属性时,激发attributeRemoved(HttpSessionBindingEvent se)方法;在Session属性被重新设置时,激发attributeReplaced(HttpSessionBindingEvent se) 方法。3、对客户端请求进行监听
对客户端的请求进行监听是在Servlet 2.4规范中新添加的一项技术,使用的接口类如下:
ServletRequestListener接口类。ServletRequestAttrubuteListener接口类。监听HttpSession中属性的操作
创建一个监听器
填写类名
选择监听器HttpSessionAttributeListener
SessionAttrListener.java
import javax.servlet.annotation.WebListener;import javax.servlet.http.HttpSessionAttributeListener;import javax.servlet.http.HttpSessionBindingEvent;/** * application Lifecycle Listener implementation class SessionAttrListener * */@WebListenerpublic class SessionAttrListener implements HttpSessionAttributeListener { /** * Default constructor. */ public SessionAttrListener() { // TODO Auto-generated constructor stub } /** * 添加一个session属性的时候触发 * @see HttpSessionAttributeListener#attributeAdded(HttpSessionBindingEvent) */ public void attributeAdded(HttpSessionBindingEvent arg0) { System.out.PRintln(arg0.getName()); System.out.println(arg0.getValue()); System.out.println("添加了一个session"); } /** * 移除一个session属性的时候触发 * @see HttpSessionAttributeListener#attributeRemoved(HttpSessionBindingEvent) */ public void attributeRemoved(HttpSessionBindingEvent arg0) { System.out.println("删除了一个session"); } /** * 更新session属性的时候触发 * @see HttpSessionAttributeListener#attributeReplaced(HttpSessionBindingEvent) */ public void attributeReplaced(HttpSessionBindingEvent arg0) { // TODO Auto-generated method stub }}当登录成功的时候就会监听到session的属性变化
新闻热点
疑难解答