Spring MVC 九大组件
(1)HandlerMapping
- HandlerMapping是一个接口,内部只有一个方法,用来查找Handler的。
在SpringMVC中会有很多请求,每个请求都需要一个Handler处理,
它的作用是根据request找到对应的Handler。—用来查找Handler的
(2)HandlerAdapter
- 适配器。因为SpringMVC中的Handler可以是任意的形式,只要能处理请求就可以,
但是Servlet需要的处理方法的结构却是固定的,都是以request和response为参数的方法。
如何让固定的Servlet处理方法调用灵活的Handler来进行处理呢?这就是HandlerAdapter要做的事情。
任意形式的Handler通过使用适配器,可以“转换”成固定形式,然后交给Servlet来处理。
每种Handler都要有对应的HandlerAdapter才能处理请求。
(3)HandlerExceptionResolver
- SpringMVC中专门负责处理异常的类,根据异常设置ModelAndView。
之后交给render方法进行渲染,HandlerExceptionResolver只能处理页面渲染之前的异常,
页面渲染过程中的异常,它是不能处理的。
(4)ViewResolver
- 这个接口只有一个方法:View resolveViewName(String viewName, Locale locale)
throws Exception; 用来将String类型的视图名(viewName)和Locale解析为View类型的视图。
(5)RequestToViewNameTranslator
- 从request中获取ViewName
(6)LocaleResolver
- 有两个参数:一是视图名(viewName),另一个是Locale。视图名是处理器返回的,
但是Locale没有,而LocaleResolver就是用于从request解析出Locale。
(7)ThemeResolver
- 解析主题
(8)MultipartResolver
- 用于处理上传请求
将普通的request包装成MultipartHttpServletRequest,就可以调用getFile方法获取File
(9)FlashMapManager
- 管理FlashMap的,FlashMap是用在redirect中传递参数。 就像我们写接口传递的参数,可以封装到Map中