过滤器

Filter依赖于servlet容器,基于函数回调实现。

是在请求进入容器之后,还未进入Servlet之前进行预处理。

它可以对几乎所有请求进行过滤,但是一个过滤器实例只能在容器初始化时调用一次。

使用场景:在过滤器中修改字符编码(CharacterEncodingFilter)、在过滤器中修改HttpServletRequest的一些参数

拦截器

依赖于web框架,例如SpringMVC框架。基于Java的反射机制实现,属于面向切面编程(AOP)的一种运用。

拦截器是在请求进入servlet后未到达controller之前执行。

拦截器只对controller请求进行拦截。

可以访问action上下文、值栈里的对象,可以获取IOC容器中的各个bean,例如在拦截器里注入一个service,可以调用业务逻辑。

两者在请求过程中执行的时机可以通过下图表示(网上找的图)

JavaWeb——过滤器和拦截器

相关文章:

  • 2021-09-01
  • 2021-05-28
  • 2021-12-20
猜你喜欢
  • 2022-12-23
  • 2021-05-01
  • 2021-08-15
  • 2022-01-25
  • 2021-04-26
相关资源
相似解决方案