SpringMVC DispatcherServlet組件實現(xiàn)解析
tomcat容器啟動加載web.xml初始化springmvc相關(guān)策略組件
一、WebApplicationContext的層次結(jié)構(gòu)
本來是想研究一下springMVC組件的,結(jié)果解決了以前的一個疑問。WebApplicationContext的層次結(jié)構(gòu)
下面是從官網(wǎng)copy的一份web.xml
ContextLoaderListener:初始化一個Root WebApplicationContext:SpringIOC初始化一些中間services+datasouces的Bean
DispatcherServlet:初始化一個Servlet WebApplicationContext:SpringIOC初始化前端controllers+view resovlers+HandleMapping的Bean
父子關(guān)系:Servlet WebApplicationContext.setParent(Root WebApplicationContext);子容器找不到就去父容器找。
<web-app> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/app-context.xml</param-value> </context-param> <servlet> <servlet-name>app</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value></param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>app</servlet-name> <url-pattern>/app/*</url-pattern> </servlet-mapping> </web-app>
二、DispatcherServlet的組件
servlet.init()時初始化SpringIOC容器外,還有初始化了一部分SpringMVC組件
/* org.springframework.web.servlet.DispatcherServlet#initStrategies 認識一下*/ protected void initStrategies(ApplicationContext context) { initMultipartResolver(context); initLocaleResolver(context); initThemeResolver(context); initHandlerMappings(context); initHandlerAdapters(context); initHandlerExceptionResolvers(context); initRequestToViewNameTranslator(context); initViewResolvers(context); initFlashMapManager(context); }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java畢業(yè)設(shè)計實戰(zhàn)之線上水果超市商城的實現(xiàn)
這是一個使用了java+SSM+springboot+redis開發(fā)的網(wǎng)上水果超市商城,是一個畢業(yè)設(shè)計的實戰(zhàn)練習(xí),具有水果超市商城該有的所有功能,感興趣的朋友快來看看吧2022-01-01SpringBoot整合mybatis-plus實現(xiàn)分頁查詢功能
這篇文章主要介紹了SpringBoot整合mybatis-plus實現(xiàn)分頁查詢功能,pringBoot分頁查詢的兩種寫法,一種是手動實現(xiàn),另一種是使用框架實現(xiàn),現(xiàn)在我將具體的實現(xiàn)流程分享一下,需要的朋友可以參考下2023-11-11SpringBoot+ShardingSphereJDBC實現(xiàn)讀寫分離詳情
這篇文章主要介紹了SpringBoot+ShardingSphereJDBC實現(xiàn)讀寫分離詳情,通過用??MySQL??進行一主一從的主從復(fù)制展開全文內(nèi)容,需要的朋友可以參考一下2022-08-08java web在高并發(fā)和分布式下實現(xiàn)訂單號生成唯一的解決方案
這篇文章主要介紹了java web在高并發(fā)和分布式下實現(xiàn)訂單號生成唯一的解決方案,需要的朋友可以參考下2017-11-11java 查找list中重復(fù)數(shù)據(jù)實例詳解
這篇文章主要介紹了java 查找list中重復(fù)數(shù)據(jù)實例詳解的相關(guān)資料,需要的朋友可以參考下2017-01-01