zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【项目实战】过滤器(Filter)入门介绍以及基于SpringBoot框架实现自定义Filter (过滤器)

SpringBoot项目框架入门 实现 基于 介绍 实战
2023-09-14 09:04:55 时间

一、 过滤器(Filter)与拦截器(Interceptor)的相同点与不同点

1.1 两者的相同点

(1)都是基于AOP(面向切面编程)思想的实现
(2)都位于Servlet容器和客户端之间
(3)都可以体现了以下功能:

  • 权限检查
  • 日志记录
  • 系统安全和管理
  • 处理前台发送请求

1.2 两者的不同点

1.2.1 使用/作用范围不同

拦截器(Interceptor)的作用范围要比过滤器Filter更大,它可以拦截Action,
而 过滤器(Filter)只能对HTTP请求进行拦截。

(1)拦截器(Interceptor)

由于拦截器是基于web框架的调用,因此可以使用Spring的依赖注入(DI)进行一些业务操作,同时但是缺点是只能对controller请求进行拦截,对其他的一些比如直接访问静态资源的请求则没办法进行拦截处理。

它只能对Action请求起作用,只能实现对Action的拦截,即它可以在Action执行之前或之后加入一些逻辑代码。

它可以访问Action上下文、值栈里的对象,可以获取IOC容器中的各个Bean,在拦截器里注入一个service,可以调用业