关于Springboot中DispatcherServlet的问题

Sprongboot向IOC容器中注入了DispatcherServlet组件 和 给Tomcat注册了DispatcherServlet,
请求过来时,是Tomcat层的DServlet处理请求,所以IOC中的DServlet是做什么用的

spring把servlet的执行器分派给了tomcat中的控制器。这两者不矛盾的

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7604346
  • 你也可以参考下这篇文章:SpringBoot+SSM 关于dispatcherServlet无法解析的异常(未解决)
  • 除此之外, 这篇博客: SpringBoot启动中,DispatcherServlet即SpringMvc的加载流程中的 DispatcherServlet 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • public class DispatcherServlet extends FrameworkServlet {
    	@Override
    	protected void onRefresh(ApplicationContext context) {
    		initStrategies(context);
    	}
    	/**
    	 * 初始化这个servlet使用的策略对象
    	 * <p>May be overridden in subclasses in order to initialize further strategy objects.
    	 */
    	protected void initStrategies(ApplicationContext context) {
    		initMultipartResolver(context);
    		initLocaleResolver(context);
    		initThemeResolver(context);
    		initHandlerMappings(context);
    		initHandlerAdapters(context);
    		initHandlerExceptionResolvers(context);
    		initRequestToViewNameTranslator(context);
    		initViewResolvers(context);
    		initFlashMapManager(context);
    	}
    }
    

    此处用到了策略模式

DispatcherServlet只是实现了Servlet规范而已,是处理请求的入口,至于DispatcherServlet是否放到IOC中无所谓的,放进去只是为了方便依赖注入(即IOC/DI规范)以及生命周期的管理