SpringMVC DispatcherServlet组件实现解析
tomcat容器启动加载web.xml初始化springmvc相关策略组件
一、WebApplicationContext的层次结构
本来是想研究一下springMVC组件的,结果解决了以前的一个疑问。WebApplicationContext的层次结构
下面是从官网copy的一份web.xml
ContextLoaderListener:初始化一个RootWebApplicationContext:SpringIOC初始化一些中间services+datasouces的Bean
DispatcherServlet:初始化一个ServletWebApplicationContext:SpringIOC初始化前端controllers+viewresovlers+HandleMapping的Bean
父子关系:ServletWebApplicationContext.setParent(RootWebApplicationContext);子容器找不到就去父容器找。
org.springframework.web.context.ContextLoaderListener contextConfigLocation /WEB-INF/app-context.xml app org.springframework.web.servlet.DispatcherServlet contextConfigLocation 1 app /app/*
二、DispatcherServlet的组件
servlet.init()时初始化SpringIOC容器外,还有初始化了一部分SpringMVC组件
/*org.springframework.web.servlet.DispatcherServlet#initStrategies认识一下*/ protectedvoidinitStrategies(ApplicationContextcontext){ initMultipartResolver(context); initLocaleResolver(context); initThemeResolver(context); initHandlerMappings(context); initHandlerAdapters(context); initHandlerExceptionResolvers(context); initRequestToViewNameTranslator(context); initViewResolvers(context); initFlashMapManager(context); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。