编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

ServletContext 监听器

ServletContextListener:监听ServletContext对象

package com.listener;
import javax.servlet.ServletRequestEvent;
public class ServletRequestListener implements javax.servlet.ServletRequestListener {
    /**
     * 该请求即将超出Web应用程序的范围。
     * request将要销毁
     */
    @Override
    public void requestDestroyed(ServletRequestEvent event) {
        System.out.println("request将要销毁");
    }
    /**
     * 该请求即将进入Web应用程序的范围。
     * request初始化
     */
    @Override
    public void requestInitialized(ServletRequestEvent event) {
        System.out.println("request初始化");
    }
}
<!-- ServletContext对象监听器 -->
<listener>
    <listener-class>com.listener.ServletRequestListener</listener-class>
</listener>

ServletContextAttributeListener:监听对ServletContext属性的操作,比如增加、删除、修改

package com.listener;
import javax.servlet.ServletRequestAttributeEvent;
public class ServletRequestAttributeListener implements javax.servlet.ServletRequestAttributeListener {
    /**
     * 通知一个新的属性被添加到servlet请求。 在添加属性后调用。
     */
    @Override
    public void attributeAdded(ServletRequestAttributeEvent event) {
        System.out.println("request添加属性后调用");
    }
    /**
     * 通知现有的属性已经从servlet请求中删除。 在属性被删除后调用。
     */
    @Override
    public void attributeRemoved(ServletRequestAttributeEvent event) {
        System.out.println("request删除属性后调用");
    }
    /**
     * 通知servlet请求中已经替换了一个属性。 在属性被替换后调用。
     */
    @Override
    public void attributeReplaced(ServletRequestAttributeEvent event) {
        System.out.println("request替换属性后调用");
        String name = event.getName();
        Object value = event.getValue();
        System.out.println("request被替换的key:" + name + "  ,替换前的value:" + value);
    }
}
<!-- ServletContext属性的操作监听器  -->
<listener>
    <listener-class>com.listener.ServletRequestAttributeListener</listener-class>
</listener>


未经允许不得转载: 技术文章 » Java编程 » ServletContext 监听器