闲来无事。看spring官方文档,整理一些知识点,为避免遗忘,来此记录。
springmvc请求流程图
DispatcherServlet(前置控制器)是一个真正的Servlet(集成HttpServlet的基础类),常配置在web.xml。主要作用是处理url映射。如下所示:
DispatcherServlet基本配置
DispatcherServlet的初始化参数:
1.contextConfigLocation-Context:配置路径
2.Namespace:在WebApplicationContext中的命名空间,默认xx-servlet
3.contextClass:实现WebApplicationContext的类,能够实例化被这个Servlet所使用的context。在默认情况下,XmlWebApplication会被使用。
在Spring中AppliationContext(应用程序上下文)的实例的生效范围能被限定。在Web MVC框架中,每一个DispatcherServlet有它自己的WebApplicationContext。
webApplicationContext其实是ApplicationContext的扩展,主要实现了一些Web工程有必要的特性,如主题解析等等。
//配置过程中,注意SpringMVC是Spring的子容器
在WebApplication中的特殊bean类型,也是DispatcherServlet的主要职责:
1.HandlerMapping处理器映射器
2.HandlerAdapter处理器适配器
3.HandlerExceptionResolver处理器异常解析器
4.ViewResolver视图解析器
5.LocaleResolver & LocaleContextResolver地区解析器和地区Context解析器
6.ThemeResolver主题解析器
7.MultipartResolver多部件解析器
8.FlashMapManager
简单地说,contextLoaderListener初始化上下文是针对整个Spring框架的applicationContext,加载的Bean对整个应用程序都是共享的,一般如:application*.xml;而DispatcherServlet是SpringMVC子容器的上下文,只加载WEB相关的组件,一般单独配置如:springmvc.xml。
springmvc请求处理入口:DispatcherServlet
原文:http://www.cnblogs.com/zhongkaigg/p/7748650.html