SpringMVC-架构解析
SpringMVC 工作流程
流程图补充说明
待更新…
DispatcherServlet 九大组件
MultipartResolver
多媒体解析器,一般用来实现上传下载的功能
LocaleResolver
国际化解析器,自动从请求头中的地区和语言信息解析并获取 Locale 对象,并设置到响应内容中,来实现国际化。
ThemeResolver
主题解析器,主题是样式、图片及它们所形成的显示效果的集合。一套主题对应一个 properties文件,里面存放着与当前主题相关的所有资源。
List<HandlerMapping>
请求映射处理的集合,作用是判断请求和对应的处理器之间的映射关系,确保请求能找到对应的处理器。
List<HandlerAdapter>
处理器适配器集合,因为在 SpringMVC 中 Handler 可以是任意形式的,比如 @RequestMapping 的方法,实现 Controller 接口的类,为了将这些 Handler 统一规格给 SpringMVC 使用,就需要能转化这些 Handler 的 Adapter。
List<HandlerExceptionResolver>
异常处理解析器集合,判断是否能处理所抛出来的异常,转化为目标的 ModelAndView,如果不能处理,则会将异常抛给 Tomcat。
RequestToViewNameTranslator
请求名到视图名翻译器,当我们自己写的 Handler 没有定义 viewName 的时候,就会调用它,将请求的目标截取,作为 viewName,供 ViewResolver 进行解析。
FlashMapManager
重定向参数传递,当我们将 Post 请求进行重定向为 Get 请求的时候(防止重复提交),为了将 Post 数据体现在 Get 请求页面中,用 FlashMapManager 实现重定向参数传递。
List<ViewResolver>
视图解析器集合,用来通过视图名解析成视图 View 的解析器,从而进行渲染页面。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Xorex!
评论