SpringMVC是一种基于Java语言开发,实现了WebMVC设计模式,请求驱动类型 
  的轻量级Web框架。  
  采用了MVC架构模式的思想,通过把Model,View,Controller分离,将Web层进 
  行职责解耦,从而把复杂的Web应用分成逻辑清晰的几个组件,在SpringMVC中有 
  9大重要的组件。  
  下面详细说明一下这些组件的作用和初始化方法:  
  1、MultipartResolver文件处理器  
  对应的初始化方法是initMultipartResolver(context),用于处理上传请求。  
  2、LocaleResolver当前环境处理器  
  其对应的初始化方法是initLocaleResolver(context)  
  SpringMVC主要有两个地方用到了Locale:  
  一是ViewResolver视图解析的时候;  
  二是用到国际化资源或者主题的时候。  
  3、ThemeResolver主题处理器  
  其对应的初始化方法是initThemeResolver(context),  
  用于解析主题。也就是解析样式、图片及它们所形成的显示效果的集合。  
  4、HandlerMapping处理器映射器  
  其对应的初始化方法是initHandlerMappings(context),  
  在SpringMVC中会有很多请求,每个请求都需要一个Handler处理。  
  HandlerMapping的作用便是找到请求相应的处理器Handler和Interceptor。  
  5、HandlerAdapter处理器适配器 
 
 其对应的初始化方法是initHandlerAdapters(context)  
 
 从名字上看,它就是一个适配器。HandlerAdapters要做的事情就是如何让固定的  
 
 Servlet处理方法调用灵活的Handler来进行处理  
 
 6、HandlerExceptionResolver异常处理器  
 
 对应的初始化方法是initHandlerExceptionResolvers(context)  
 
 它的主要作用是处理其他组件产生的异常情况。  
 
 7、RequestToViewNameTranslator视图名称翻译器  
 
 其对应的初始化方法是initRequestToViewNameTranslator(context)  
 
 它的作用是从请求中获取ViewName。  
 
 有的Handler处理完后并没有设置View也没有设置ViewName,这时就需要从  
 
 request中获取,而RequestToViewNameTranslator就是为request提供获取  
 
 ViewName的实现。  
 
 8、ViewResolvers页面渲染处理器  
 
 其对应的初始化方法是initViewResolvers(context)  
 
 ViewResolvers的主要作用是将String类型的视图名和Locale解析为View类型的视 
 
 图。  
 
 9、FlashMapManager参数传递管理器  
 
 其对应的初始化方法是initFlashMapManager(context)  
 
 在实际应用中,为了避免重复提交,我们可以在处理完post请求后重定向到另外一个 
 
 get请求,这个get请求可以用来返回页面渲染需要的信息。  
 
 FlashMap就是用于这种请求重定向场景中的参数传递。 
 
 
 
 在SpringMVC的九大组件中,涉及到请求处理响应的核心组件分别是:  
  1.HandlerMapping、  
  2.HandlerAdapter、  
  3.ViewResolver  
  这张图表示这三个组件的整体执行流程,具体调用分为以下几个步骤: 
  
  1、HandlerMapping回到调用HandlerAdapter  
  2、HandlerAdapter会返回ModelAndView  
  3、ModelAndView根据用户传入参数得到ViewResolvers  
  4、ViewResolvers会将用户传入的参数封装为View,交给引擎进行渲染。  
  注意:有大家最熟悉的两个类:ModelAndView和View类并不属于SpringMVC九 
  大组件之列。