过滤器Filter与监听器Listener
过滤器Filter
过滤器也是一种servlet 它也可以对用户的请求进行处理 , 但是他所做的处理,只是一些轻量级的处理。Fileter就好像jsp页面与servlet之间的一道关卡,如果这个web应用有Filter那么,jsp页面的请求在到达要去的servlet之前,先被Filter解惑,在Filter做一些处理之后,然后再让该请求去它原本要去的servlet。同理,Filter也可以对servlet生成的响应,进行拦截处理,让后再让它去它原本要去的jsp页面。
一个Filter类,要实现javax.servlet.Filter接口,这个接口提供如下三个方法:
init(FilterConfig config) ------对生成的Filter对象进行初始化 传入的config对象 可以可以调用方法来获取该Filter在web.xml中的配置参数
destory() ------在销毁Filter对象之前,自动调用该方法对资源进行回收
doFilter(ServletRequest request , ServletResponse response, Filterchain chain)
------ 在该方法内对拦截到达请求或响应 进行一些处理 然后交给它 目的servlet或jsp页面
传入的request对象 表示 拦截到的request对象
传入的response对象 表示拦截到的response对象
传入的chain对象 可以通过调用chain.doFilter(request,response) 表示过滤器已经处理完了,将请求或者响应转发到它们想去的servlet
或者jsp页面
Filter实例对象的生命周期
牢记Filter也是一种提供轻量级服务的servlet,它提供服务同servlet一样,是通过实例对象调用处理方法
web应用加载→ 创建Filter类的实例对象 → 自动调用init()方法对该实例对象进行初始化 → 调用doFilter()方法对请求或响应进行处理 .........合适的时间 自动调用derstory()方法()进行资源回收 → 该Filter类的实例对象被销毁
Filter类的配置
监听器Listener
通过过滤器 和servlet 可以看出它们两者都是对请求或者响应提供服务的。一个web应用被启动之后 ,内部不仅仅是请求和响应在活动,还有session对象开始,结束,web应用开始,结束,等等很多事件,
而监听器就像一双耳朵,应用中发生了某些事件,而这些事件发生之后,我就要做一些处理 。
监听器也提供了好几个接口,用来监听不同的事件:
ServletContextListener接口 -------监听web应用的启动和关闭
ServletContextAttributeListener接口 -------监听application对象(ServletContext类的实例对象)内的值得变化
ServletRequestListener接口 --------监听request对象(ServletRequest类的实例对象)
ServletRequestAttributeListener接口 -----监听request对象(ServletRequest类的实例对象)内值的变化
HttpSessionListener接口 ------监听session对象(HttpSession类的实例对象)的开始和结束
HttpSessionAttribute接口 -----监听session对象(HttpSession类的实例对象)中值的变化
每个接口中都定义了若干方法 ,用于在某个事件被监听到之后自动调用,也是通过Listener实例对象调用方法实现的 。Listener实例对象和Filter实例对象,都是在web应用被加载时创建的,这点不同与servlet,因为servlet实例对象的创建根据配置不同,有两个时间点去创建。
Listener的配置
相对于Filter与Servlet来说,Listener的配置最简单 。
转载于:https://www.cnblogs.com/wangliyue/p/4113032.html
过滤器Filter与监听器Listener相关推荐
- SpringBoot定义三大组件Servlet,过滤器Filter,监听器Listener
SpringBoot定义三大组件Servlet,过滤器Filter,监听器Listener 1.定义组件的配置类: com.example.mybatis2018.config.MyServletCo ...
- 过滤器filter,监听器listener
目录 1. filter过滤器 1.1 原理 1.2 配置 1.3 过滤掉脏话demo 2. listener监听器 2.1 作用 2.2 ServletContextListener demo 1. ...
- Servlet过滤器Filter和监听器
一.Servlet过滤器的概念: *********************************************************************************** ...
- 8-过滤器Filter和监听器Listener
一.web监听器:监听特殊事件的发生 1.监听实现步骤 a.写一个java类,实现特定的接口,重写相关方法 b.在web.xml中,牌配置 <listener> <listener- ...
- JavaWeb中监听器Listener+过滤器filter+拦截器interceptor区别
JavaWeb中监听器Listener+过滤器filter+拦截器interceptor区别 如果从整个项目中看,一个servlet请求的执行过程就变成了这样context-param–>lis ...
- SpringBoot 之多个过滤器(Filter) ,监听器(Listener),切面(AOP),拦截器(Interceptor)的指定排序问题总结篇
相关文章: SpringBoot 之AOP切面的使用 SpringBoot之Listener注册到Spring容器中的多种方法 SpringBoot之Interceptor拦截器注入使用 Spring ...
- 监听器Listener
监听器Listener Servlet监听器是监听事件发生,在事件发生前后能够做出相应处理的web应用组件. PS:与传统监听直接将监听事件注册在事件源上不同,Servlet的监听器是统一配置在web ...
- 监听器-Listener
监听器-Listener Listener监听器 ServletContextListener ServletContextAttributeListener HttpSessionListener ...
- Spring Boot 系列:过滤器+拦截器+监听器
原 Swagger 文章合并到 Spring Boot 系列:配置 Swagger2 一.过滤器 - Filter 过滤器是处于客户端和服务器资源文件之间的一道过滤网,帮助我们过滤掉一些不符合要求的请 ...
- Java过滤器Filter使用详解
<div id="post_detail"> 转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6374212.html 在我的项目 ...
最新文章
- 计算机操作系统:处理机的调度
- Linux 主机被入侵后的处理案例
- python 编码文件json.loads json.dumps
- R语言:na.fail和na.omit
- 【python】利用python的tkinter-canvas函数绘制哆啦A梦过程详解(附源码)
- 使用枚举映射_用EnumMaps映射枚举键
- 深度学习主机攒机小记
- 爬虫:Python爬虫学习笔记之爬虫基础
- 十分钟教你使用NoteExpress
- 数据结构与算法中的经典算法
- chrome 安装 gliffy插件以及使用
- My IDEA Keymap
- 给 21 岁的自己 6 点建议
- 用JavaScript时钟特效
- bilibili弹幕爬取
- python实现决策树 西瓜书_朴素贝叶斯python代码实现(西瓜书)
- 阿里云:工厂车间是一个广阔的天地,在那里大有作为
- 蓝桥杯——种植园问题(prev54)
- 人生的,爱情,友情,亲情之间的关系!
- Spire.XLS:一款Excel处理神器
热门文章
- GIS案例练习-----------第四天
- 直观讲解Matlab的im2col函数
- 【移动GIS】室内导航算法设计
- 遥感影像植被颜色增强
- linux系统自行清理归档日志_Linux下自动删除归档日志文件的方法
- HTTP异步链接池发送HTTP外部请求,获取本地ip导致HTTP外部请求很慢怎么解决?
- fast虚拟服务器ip地址设置,falogin.cn fast怎样正确设置电脑的IP地址和DNS等参数? - falogincn登录页面...
- Android头部悬浮ListView第二种实现方式
- Glide4.0源码全解析(二),load()背后的故事
- 获取分辨率函数是什么_信号的时间域分辨率和频率域分辨率