SpringBoot 2.x.x版本拦截器如何工作(处理程序映射)?

时间:2019-03-18 00:52:43

标签: spring-boot exception http-status-code-404 interceptor dispatcher

SpringBoot 2.x.x版本拦截器如何工作(处理程序映射)?

在Spring Boot 2.x.x中,为什么404找不到url请求拦截了我的拦截器? 我认为调度程序Servlet的映射处理程序将返回未找到的异常。 但被拦截了。


这是拦截器

@Configuration
public class MvcConfig implements WebMvcConfigurer {

  @Autowired
  CommonIntercpetor commonIntercpetor;

  @Override
  public void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(commonIntercpetor).addPathPatterns("/**");
  }
}
我只实施了一个基本的控制器和拦截器进行测试。

静态资源是

  • /resources/static/test.html

以此类推。


在拦截器中,只需将测试字符串打印到控制台即可。



当我这样测试时,

  • 未注册的网址请求

  • 调用静态资源test.html,例如http://localhost/test.html

在上述两种情况下,拦截器也都执行。


这里

  • 如果我启用@EnableWebMvc批注,它将被激活,但是不建议忽略默认的调度程序策略。

  • 找不到
  • 对于请求,我将为应用程序配置文件提供两个选项(spring.mvc.throw-exception-if-no-handler-found:true / spring.resources.add -mappings:false)。但是静态文件不起作用。



SpringBoot 2.x.x版本拦截器如何工作(处理程序映射)?

SpringBoot的默认调度策略是否相同?

在这种情况下如何设置?

0 个答案:

没有答案