Java中ServletRequestAttributeListener监听器详解

ServletRequestAttributeListener对Request的增删改属性进行监听。

方法

public void attributeAdded(ServletRequestAttributeEvent srae);//增加属性
public void attributeRemoved(ServletRequestAttributeEvent srae);//属性删除
public void attributeReplaced(ServletRequestAttributeEvent srae);//属性替换(第二次设置同一属性)
//ServletRequestAttributeEvent事件:能取得设置属性的名称与内容
public String getName();//得到属性名称
public Object getValue();//取得属性的值

例子

/** 
 * Request请求时调用这个监听
 */  
public class ServletRquestListeners implements ServletRequestListener,ServletRequestAttributeListener  
{  
    //这个是在请求后调用  
    public void requestDestroyed(ServletRequestEvent s)  
    {  
        System.out.println("销毁了ServletReqeust");  
    }  
  
    //它是在请求前调用  
    public void requestInitialized(ServletRequestEvent s)  
    {  
        ServletRequest servletRequest = s.getServletRequest();  
        HttpServletRequest request = (HttpServletRequest) servletRequest;  
        String pathInfo = request.getServletPath();  
        System.out.println("请求地址:"+pathInfo);  
    }  
  
    public void attributeAdded(ServletRequestAttributeEvent srae)  
    {  
        HttpServletRequest request = (HttpServletRequest) srae.getServletRequest();  
        System.out.println("增加request--->"+request.getAttribute("requestName"));  
    }  
  
    public void attributeRemoved(ServletRequestAttributeEvent srae)  
    {  
        HttpServletRequest request = (HttpServletRequest) srae.getServletRequest();  
        System.out.println("删除request--->"+request.getAttribute("requestName"));  
    }  
  
    public void attributeReplaced(ServletRequestAttributeEvent srae)  
    {  
        HttpServletRequest request = (HttpServletRequest) srae.getServletRequest();  
        System.out.println("提换request--->"+request.getAttribute("requestName"));  
    }  
} 
//web.xml配置
<!-- 自定义ServletRquestListener的监听 --> 
<listener> 
    <listener-class>com.cn.secn.listener.ServletRquestListeners</listener-class> 
</listener> 

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。