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工作原理及源码分析

Spring MVC工作原理及源码解析 ViewResolver实现原理及源码解析

Spring MVC工作原理及源码解析DispatcherServlet实现原理及源码解析

源码分析spring-mvc启动流程

spring源码分析