首页 课程 师资 教程 报名

一文告诉你interceptor和filter的区别

  • 2022-07-18 11:25:51
  • 975次 星辉

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过滤器,里面有更丰富的知识等着大家去学习,希望对大家能够有所帮助。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交