Spring MVC源码分析--视图解析过程
Posted VVL1295
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring MVC源码分析--视图解析过程相关的知识,希望对你有一定的参考价值。
写在最前,本文中的源码是4.2.3版本的源码,针对的是JstlView。
视图解析的过程即DispatcherServlet的doDispatch()方法的调用的processDispatchResult();
1,processDispatchResult()里,调用DispatchServlet的render()方法;
2,render()方法里,调用DispatchServlet的resolveViewName()方法,把配置文件里注册的全部ViewResolver对象添加进来,寻找合适的ViewResolver对象;
3,resolveViewName()方法,调用InternalResourceViewResolver的resolveViewName()方法(也是AbstractCachingViewResolver的该方法,因为InternalResourceViewResolver继承UrlBasedViewResolver,
而UrlBasedViewResolver继承AbstractCachingViewResolver);
4,AbstractCachingViewResolver的resolveViewName()方法里,AbstractCachingViewResolver的createView调用UrlBasedViewResolver的loadView(),loadView()方法里初始化了一个View对象,该对象是一个JstlView,里面
含有对应的view视图的路径,而且含有attributeMap;
以上是关于Spring MVC源码分析--视图解析过程的主要内容,如果未能解决你的问题,请参考以下文章
Spring MVC注解Controller源码流程解析---请求匹配中的容错处理
Spring MVC工作原理及源码解析 ViewResolver实现原理及源码解析