j2ee中存在的监听器有八种,其中四种有关于session
可以分为以下几类:
生命周期类:监听对象的创建和销毁
Interface ServletRequestListener
Interface ServletContextListener
Interface HttpSessionListener
属性类:监听对象上的属性变化(添加,删除,修改)
Interface ServletRequestAttributeListener
Interface ServletContextAttributeListener
Interface HttpSessionAttributeListener
Session相关监听器:
Interface HttpSessionBindingListener 监听对象绑定在session上的事件
Interface HttpSessionActivationListener 监听session序列化和反序列话
下面举个例子:ServletRequestListener的使用方式其他基本类似
首先要自定义一个类实现你要监听对象的接口:
package com.xinzhi.listener;import javax.servlet.ServletRequestEvent;import javax.servlet.ServletRequestListener;public class MyServletRequestListener implements ServletRequestListener{ public void requestDestroyed(ServletRequestEvent sre) { Object attribute = sre.getServletRequest().getAttribute("cn"); System.out.println("requestDestroyed"+attribute); } public void requestInitialized(ServletRequestEvent sre) { System.out.println("requestInitialized"); }}
然后在web.xml文件中进行配置
com.xinzhi.listener.MyServletRequestListener
就可以对request的创建和销毁进行监听,其他的监听也是类似的方式