Java拦截器和过滤器的区别_极悦注册
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java拦截器和过滤器的区别

Java拦截器和过滤器的区别

更新时间:2022-10-25 10:35:39 来源:极悦 浏览927次

一样的东西:

1.拦截器和过滤器体现AOP思想,实现方法的增强,可以拦截请求的方法。

2.拦截器和Filter过滤器可以通过Order Annotation设置执行顺序

区别:

1.Filter属于Servlet Level,Interceptors属于Spring Level

Filter是在javax.servlet包中定义的,依赖于网络容器,所以只能在web项目中使用。

拦截器是在 SpringMVC 中实现的,归根结底,最底层的拦截器是一个 Spring Components ,由 Spring Container 管理。

2.过滤器和拦截器的执行顺序不同:

这是一张显示过滤器和拦截器执行顺序的图片

首先,当请求进入 Servlet 之前,过滤器的 doFilter 方法进行过滤,

进入 Servlet 容器后,执行 Controller 的 Before 方法,拦截器的 preHandle 方法进行拦截,

执行Controller的After方法,渲染视图之前,拦截器的postHandle方法进行拦截,

请求后,执行拦截器 postHandle 方法。

3.基于过滤器的函数回调如何实现,拦截器是基于Java的反射机制实现的。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>