其他分享
首页 > 其他分享> > SpringMVC工作原理

SpringMVC工作原理

作者:互联网

 一、注解驱动

先说一下,HandleMapping和HandleAdaptor在使用注解驱动<mvc:annotation-driven>

1.它能帮我处理转发,处理返回值,变为JSON等。(默认为jackson解析)。

2.加上后,会自动注册

        ReuestMappingHandlerMapping(处理映射器)

        RequestMappingHandlerAdapter(处理适配器)

二、分析流程

通过流程图可以得到简单分析:

(1)浏览器提交请求到中央调度器,也可以叫做前端控制器。 (2)中央调度器直接将请求转给处理器映射器。         (3)处理器映射器会根据请求,找到处理该请求的处理器,并将其封装为处理器执行链后 返回给中央调度器。         这里可以得到一个 HandlerExecutionChain(执行链) ,里面包含了 handler(处理器对象) 和 (interceptors)拦截器数组 。这里getHandler有2种,一种通过 URL ,一种通过 HandlerMethod (通过@requestmapper)得到。 (4)中央调度器根据处理器执行链中的处理器,找到能够执行该处理器的处理器适配器。                      涉及到了 适配器 设计模式,可以调用不同的处理器,然后去找到对应的 Controller, 找到响应的 方法去执行 。 (5)处理器适配器调用执行处理器。 (6)处理器将处理结果及要跳转的视图封装到一个对象 ModelAndView 中,并将其返回给 处理器适配器。 (7)处理器适配器直接将结果返回给中央调度器。 (8)中央调度器调用视图解析器,将 ModelAndView 中的视图名称封装为视图对象。 (9)视图解析器将封装了的视图对象返回给中央调度器 ( 10 )中央调度器调用视图对象,让其自己进行渲染,即进行数据填充,形成响应对象。 ( 11 )中央调度器响应浏览器。

标签:封装,SpringMVC,适配器,中央,调度,视图,工作,处理器,原理
来源: https://blog.csdn.net/pgving/article/details/122101940