对Request的监听分生命周期的监听,和Request上Attribute变化的监听两部分。
步骤1:编写 RequestListener
步骤2:配置web.xml
步骤3:testRequest.jsp
步骤4:测试
步骤 1 : 编写 RequestListener
RequestListener 实现接口 ServletRequestListener和ServletRequestAttributeListener
当新创建了一个Request的时候触发,只要访问了服务端的资源,就会创建一个Request,无论是jsp,servlet还是html
当本次请求结束的时候触发
当有新增属性时触发
当有替换属性时触发
当有移除属性时触发
package listener; import javax.servlet.ServletRequestAttributeEvent; import javax.servlet.ServletRequestAttributeListener; import javax.servlet.ServletRequestEvent; import javax.servlet.ServletRequestListener; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class RequestListener implements ServletRequestListener, ServletRequestAttributeListener { @Override public void requestDestroyed(ServletRequestEvent arg0) { System.out.println( "销毁了一个Request " ); } @Override public void requestInitialized(ServletRequestEvent arg0) { System.out.println( "创建了一个Request " ); } @Override public void attributeAdded(ServletRequestAttributeEvent e) { System.out.println( "request 增加属性 " ); System.out.println( "属性是" + e.getName()); System.out.println( "值是" + e.getValue()); } @Override public void attributeRemoved(ServletRequestAttributeEvent arg0) { System.out.println( "request 移除属性 " ); } @Override public void attributeReplaced(ServletRequestAttributeEvent arg0) { System.out.println( "request 替换属性 " ); } } |
步骤 2 : 配置web.xml
< listener > < listener-class >listener.RequestListener</ listener-class > </ listener > |
步骤 3 : testRequest.jsp
测试页面,先在request中设置test,然后替换,最后移出掉test
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setAttribute("test", 1); request.setAttribute("test", 2); request.removeAttribute("test"); %> |
步骤 4 : 测试
访问页面
http: //127.0.0.1/testRequest.jsp |
观察测试结果
![测试](https://i-blog.csdnimg.cn/blog_migrate/6c2405126a7eba4e42924eac702a12a2.png)
更多内容,点击了解: https://how2j.cn/k/listener/listener-request/607.html