网问答>>过滤器和监听器(三)
问题
已解决

过滤器和监听器(三)

时间:2026-02-08 01:36:49
过滤器和监听器(三)
最佳回答
监听器概念及分类监听器概念:类似于前端的事件绑定,Java中的监听器用于监听web应用中某些对象、信息的创建、销毁、增加、修改、删除等动作的发生,然后作出相应的响应处理。当范围对象的状态发生变化时,服务器自动调用监听器对象中的方法。常用于统计在线人数和在线用户,系统加载时进行信息初始化,统计网站的访问量等。监听器分类:按监听的对象划分:ServletContext对象监听器HttpSession对象监听器ServletRequest对象监听器按监听的事件划分:对象自身的创建和销毁的监听器对象中属性的创建和消除的监听器session中的某个对象的状态变化的监听器监听器接口及功能Java一共提供了八个监听器接口,分别用于监听三个域对象,每个监听器都有专门监听的事件。Request相关监听器:ServletRequestListener:处理request对象创建和销毁。requestInitialized(ServletRequestEvent servletRequestEvent):request域的初始化方法,任何一个req域的初始化都会触发该方法,发生一次请求request域就会被创建一次。requestDestroyed(ServletRequestEvent servletRequestEvent):request域被销毁的方法,任何一个req域的销毁都会触发该方法,请求完成一次request就会销毁。ServleRequestAttributeListener:处理域对象中的数据添加、修改、删除。attributeAdded(ServletRequestAttributeEvent srae):向任何一个request域中放入数据会触发的方法。attributeRemoved(ServletRequestAttributeEvent servletRequestAttributeEvent):从任何一个request域中移除数据会触发的方法。attributeReplaced(ServletRequestAttributeEvent servletRequestAttributeEvent):任何一个request域中的任何数据被修改的时候会触发该方法。示例代码如下:public class RequestListener implements ServletRequestListener,ServletRequestAttributeListener { @Override public void requestDestroyed(ServletRequestEvent servletRequestEvent) { /*request域被销毁的方法 任何一个req域的销毁都会触发该方法 * 请求完成一次 request就会销毁 * */ System.out.println("请求使用完毕被销毁"); } @Override public void requestInitialized(ServletRequestEvent servletRequestEvent) { /*request域的初始化方法 任何一个req域的初始化都会触发该方法 * 发生一次请求 request域就会被创建一次 * */ System.out.println("请求被创建"); } @Override public void attributeAdded(ServletRequestAttributeEvent srae) { /*向任何一个request域中放入数据会触发的方法*/ System.out.println("request域中添加了数据"); } @Override public void attributeRemoved(ServletRequestAttributeEvent servletRequestAttributeEvent) { /*从任何一个request域中移除数据会触发的方法*/ System.out.println("request域中移除了数据"); } @Override public void attributeReplaced(ServletRequestAttributeEvent servletRequestAttributeEvent) { /*任何一个request域中的任何数据被修改的时候会触发该方法*/
时间:2026-02-08 01:36:53
本类最有帮助
Copyright © 2008-2013 www.wangwenda.com All rights reserved.冀ICP备12000710号-1
投诉邮箱: