专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 一文告诉你interceptor和filter的区别

一文告诉你interceptor和filter的区别

更新时间:2022-07-18 11:25:51 来源:动力节点 浏览956次

interceptor和filter的区别有哪些?动力节点小编来告诉大家。

一文告诉你interceptor和filter的区别

Filter介绍

Filter在请求进入servlet容器执行service()方法之前就会经过filter过滤(上图步骤1),不像Intreceptor一样依赖于springmvc框架,只需要依赖于servlet,不像Intreceptor一样依赖于springmvc框架,只需要依赖于servlet。Filter启动是随WEB应用的启动而启动,只需要初始化一次,以后都可以进行拦截。

Filter有如下几个种类:

1.用户授权Filter:检查用户请求,根据请求过滤用户非法请求;

2.日志Filter:记录某些特殊的用户请求;

3.解码Filter:对非标准编码的请求解码。

Interceptor和Filter的不同点:

1.使用范围不同,filter是servlet规范规定的,只能用于web程序中,而Interceptor既可以用于web程序中,也可以用于application、swing程序中

2.规范不同:filter是在servlet规范中定义的,servlet支持,而拦截器是spring容器内的,是spring框架支持的。感觉就是一个是javaweb级别的,一个是spring级别的

3.深度不同:filter只在servlet前后起作用,而interceptor能够深入到方法前后、异常抛出前后等。因此interceptor的使用具有更大的弹性。所以在spring框架中应该优先使用拦截器

4.使用的资源不同,interceptor可以使用spring中的任何资源、对象等,而filter不能

以上就是关于“一文告诉你interceptor和filter的区别”介绍,大家如果对此比较感兴趣,想了解更多相关知识,不妨来关注一下动力节点的Filter过滤器,里面有更丰富的知识等着大家去学习,希望对大家能够有所帮助。

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

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