原生组件注册简单分析

 

 

 

 可以看到 在DispatcherServletAutoConfiguration的时候  就注册了 DispatcherServletRegistrationBean  容器中就已经存在了

为什么会发起请求的时候 springboot的拦截器没有发起作用

这是因为精确优选原则

 

 当访问/my时 是精确匹配,直接由tomcat处理了 所以没走springboot

如果是访问/路径 就是springboot优先了 

谁精确谁优先,模糊全springboot优先

 

 

扩展:DispatchServlet 如何注册进来

  • 容器中自动配置了 DispatcherServlet 属性绑定到 WebMvcProperties;对应的配置文件配置项是 spring.mvc。
  • 通过 ServletRegistrationBean<DispatcherServlet> 把 DispatcherServlet 配置进来。
  • 默认映射的是 / 路径。

Tomcat-Servlet;

多个Servlet都能处理到同一层路径,精确优选原则

A: /my/

B: /my/1

 

 

 

 

posted @ 2022-09-14 23:54  咖喱给给啊  阅读(27)  评论(0)    收藏  举报