一、过滤器
1、依赖于servlet容器
2、实现原理基于函数回调,可以对几乎所有的请求进行过滤
3、可以对request和response进行修改操作,例:修改返回状态码、修改request的 参数、过滤低俗、危险字符的请求
二、拦截器
1、依赖于Web框架
2、实现原理基于Java的反射机制,运用AOP理念
3、缺点针对方法的预处理,对于静态资源的访问无法进行拦截
三、监听器
1、程序启动时进行初始化,只初始化一次,实现ServletContextListener接口
2、随着程序的停止而销毁
3、作用:在初始化时,做一些全局的配置,固定对象的创建,Bean对象的创建,全局变量的初始化
执行顺序
Filter pre (进入过滤器)-> Servlet Service -> dispatcher -> preHandle(拦截器)
-> controller -> postHandle(拦截器) -> afterCompletion(拦截器) -> Filter after(拦截器完成)
网友评论