WebFilter无效问题

在springboot应用中自定义Filter时,在Filter上添加@compent注解会使urlPatterns匹配路径变为/*而不是自定义路径

应该是因为 @WebFilter注解 是由 Servlet3.0 提供的 而不是 spring提供的

所以 spring 添加这个过滤器时没有把urlPatterns信息添加到过滤器中

解决方式:

  1. 移除类上的@compent注解,在启动类上添加@ServletComponentScan注解
  2. 不使用@WebFilter方式声明过滤器,使用FilterRegistrationBean在配置类中注入Filter