tomcat容器启动加载web.xml初始化springmvc相关策略组件
一、WebApplicationContext的层次结构
360-f968-49c6-a050-b508c08ed4ba.png" />
本来是想研究一下springMVC组件的,结果解决了以前的一个疑问。WebApplicationContext的层次结构
下面是从官网copy的一份web.xml
ContextLoaderListener:初始化一个Root WebApplicationContext:SpringIOC初始化一些中间services+datasouces的Bean
DispatcherServlet:初始化一个Servlet WebApplicationContext:SpringIOC初始化前端controllers+view resovlers+HandleMapping的Bean
父子关系: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); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Vue实现PopupWindow组件详解,包括了Vue实现PopupWindow组件详解的使用技巧和注意事项,需要的朋友参考一下 这段时间一直在学习前端技术来完成自己的小项目。在js方面就使用了Vue框架。由于在项目里想实现一个新建地址的PopupWindow效果,便想到可以使用Vue的一些特性来实现。 用到的Vue特性:组件(Component),props传值,slot内容插入,
本文向大家介绍webpack+vue.js实现组件化详解,包括了webpack+vue.js实现组件化详解的使用技巧和注意事项,需要的朋友参考一下 简介 在vue中实现组件化用到了vue特有的文件格式.vue,在每一个.vue文件就是一个组件,在组件中我们将html,css,js全部写入,然后在webpack中配置vue-loader就可以了。 建立vue组件 在src目录下建立component
本文向大家介绍vue实现简单表格组件实例详解,包括了vue实现简单表格组件实例详解的使用技巧和注意事项,需要的朋友参考一下 本来想这一周做一个关于vuex的总结的,但是由于朋友反应说还不知道如何用vue去写一个组件,所以在此写写一篇文章来说明下如何去写vue页面或者组件。vue的核心思想就是组件,什么是组件呢?按照我的理解组件就是装配页面的零件,比如一辆车有大大小小许多零件组成,那么同样的一个页面
本文向大家介绍Vue组件通信$attrs、$listeners实现原理解析,包括了Vue组件通信$attrs、$listeners实现原理解析的使用技巧和注意事项,需要的朋友参考一下 前言 vue通信手段有很多种,props/emit、vuex、event bus、provide/inject 等。还有一种通信方式,那就是$attrs和$listeners,之前早就听说这两个api,趁着有空来补补
本文向大家介绍Vue实现图片轮播组件思路及实例解析,包括了Vue实现图片轮播组件思路及实例解析的使用技巧和注意事项,需要的朋友参考一下 1、先看效果: 熟悉的图片轮播,只要是个网站,百分之90以上会有个图片轮播。我认为使用图片轮播。 第一可以给人以一种美观的感受,而不会显得网站那么呆板, 第二可以增加显示内容,同样的区域可以显示更多内容。 2、每学一个新东西 ,图片轮播都是很好的练手案例,而且,
本文向大家介绍使用smartupload组件实现jsp+jdbc上传下载文件实例解析,包括了使用smartupload组件实现jsp+jdbc上传下载文件实例解析的使用技巧和注意事项,需要的朋友参考一下 SmartUpload组件只有5个分别是:File、Files、Request、SmartUpload、SmartUploadException类,其中,File代表用户上传的文件,Files代表