j2ee监听器的实现及配置方法

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文件中进行配置

<listener>
      <listener-class>com.xinzhi.listener.MyServletRequestListener</listener-class>
  </listener>

就可以对request的创建和销毁进行监听,其他的监听也是类似的方式

原文地址:https://www.cnblogs.com/ShaoXin/p/6896631.html