ServletRequestListener监听器
1.作用:监听Request创建或销毁,即监听生命周期
2.相关方法
//void requestInitialized(ServletRequestEvent sre):创建request时
//void requestDestroyed(ServletRequestEvent sre):销毁request时
3.作用场景
1.可以用来监控某个IP访问网站的频率
2.记录日志
3.访问资源的情况
4.代码
监听器
package com.listener;
import javax.servlet.ServletRequest;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpServletRequest;
public class hspRequestListener implements ServletRequestListener {
@Override
public void requestInitialized(ServletRequestEvent sre) {
System.out.println("hspRequestListener 监听到 request对象创建");
ServletRequest servletRequest = sre.getServletRequest();
System.out.println("记录访问日志");
System.out.println("访问IP="+servletRequest.getRemoteAddr());
System.out.println("访问的资源="+((HttpServletRequest)servletRequest).getRequestURL());
}
@Override
public void requestDestroyed(ServletRequestEvent sre) {
System.out.println("hspRequestListener 监听到 request对象被销毁");
}
}
实现类直接使用HttpSessionAttributeListener监听器中的HiServlet即可(在上一篇博客中)
ServletRequestAttributeListener监听器
1.作用:监听Request属性变化,使用方法和前面的SessionAttribute监听器一样
2.相关方法
//void attributeAdded(ServletRequestAttributeEvent srae):添加属性时
//void attributeReplaced(ServletRequestAttributeEvent srae):替换属性时
//void attributeRemoved(ServletRequestAttributeEvent srae):删除属性时