前言
本篇博文是关于拦截器VS 过滤器的分享,希望你能够喜欢
个人主页:晨犀主页
个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力
欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦
文章目录
- 拦截器和过滤器的区别
-
- 通俗理解:
-
- 过滤器(Filter):
- 拦截器(Interceptor):
- 不同
-
- 1.使用范围不同
- 2.过滤器和拦截器的触发时机也不同
-
- 总结
拦截器和过滤器的区别
通俗理解:
过滤器(Filter):
有一盘豆子我们需要过滤出大的豆子和小的豆子,用筛子进行过滤可以把小的豆子弄下去留下大的豆子,过滤的筛子就相当于过滤器。
拦截器(Interceptor):
有一盘豆子我们需要拦截坏豆子,在筛子下方放一盆水,过滤出的小豆子会进入水中。好豆子会沉入水中,坏豆子会漂浮在水面。水面就相当于一个拦截器。
不同
1.使用范围不同
- 过滤器实现的是javax.servlet.Filter 接口,而这个接口是在Servlet 规范中定义的,也就是说过滤器Filter 的使用要依赖于Tomcat 等容器,Filter 只能在web 程序中使用。
- 拦截器(Interceptor) 它是一个Spring 组件,并由Spring 容器管理,并不依赖Tomcat 等容器,是可以单独使用的。不仅能应用在web 程序中,也可以用于Application 等程序中。
2.过滤器和拦截器的触发时机也不同
如图
说明
- 过滤器Filter 是在请求进入容器后, 但在进入servlet 之前进行预处理, 请求结束是在servlet 处理完以后。
- 拦截器Interceptor 是在请求进入servlet 后, 在进入Controller 之前进行预处理的,Controller 中渲染了对应的视图之后请求结束。
- 过滤器不会处理请求转发, 拦截器会处理请求转发。
总结
- Filter 过滤器它的作用是:拦截请求,过滤响应。
- Interceptor 拦截器:对请求进行拦截处理。
- 由上可知,过滤器和拦截器是相辅相成的。
热门专栏推荐
Spring Initailizr–快速入门–SpringBoot的选择
带你了解SpringBoot支持的复杂参数–自定义对象参数-自动封装
Rest 优雅的url请求处理风格及注意事项
文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力