20200421——SpringMVC执行流程和原理

先上一个流程图
在这里插入图片描述

第一步
用户发送请求到前端控制器DispathcerServlet

第二步
DispatcherServlet收到请求去调用HandlerMapping(处理器映射器)

第三步
HandlerMapping找到具体的处理器(可查找xml配置或注解配置),生成处理器对象及处理器拦截器(如果有),再一起返回给DispathcerServlet

第四步
DispatcherServlet调用HandlerAdapter(处理器适配器)

第五步
HandlerAdapter经过适配器调用具体的Handler/Controller


这里应该调用Controller的分界线

第六步
Controller执行完成返回ModelAndView对象

第七步
HandlerAdapter将Controller执行结果ModelAndView对象返回给DispatcherServlet

第八步
DispatcherServlet 将ModelAndView 对象传给ViewResolver(视图解析器)

第九步
ViewReslover解析后返回具体的View(视图)

第十步
DispatcherServlet 根据View进行渲染视图(将数据模型填充进视图中)

第十一步
DispatcherServlet相应用户



上面涉及到的组件进行分析

第一个组件:前端控制器 DispatcherServlet
不需要开发,由框架支持提供,在web.xml中进行配置。
作用:接收请求,响应结果,相当于转发器,中央处理器。

第二个组件:处理器映射器 HandlerMapping
不需要开发,由框架支持提供
作用:根据请求的url查找Handler(处理器/Controller),可以通过xml和注解方式来映射。

第三个组件:处理器适配器 HandlerAdapter
不需要开发,由框架支持提供
作用:按照特定的HandlerAdapter要求的规则,去执行Handler。

第四个组件:Handler/也称之为Controller
需要我们工程师去开发,
作用:接受用户请求信息,调用业务方法处理请求,也称之为后端的控制器。

第五个组件:视图解析器 ViewResolver
不需要开发
作用:进行视图解析,把逻辑视图名解析成真正的物理视图。

第六个组件:视图View
作用:把数据呈现给用户。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值