SpringMVC的执行流程(笔记总结)

SpringMVC的执行流程图

在这里插入图片描述

组件说明

DispatcherServlet:
	整个流程控制的中心,控制其它组件执行,统一调度,降低组件之间的耦合性,提高每个组件的扩展性。

HandlerMapping:
	根据请求的url查找Handler。HandlerMapping负责根据用户请求找到Handler即处理器(Controller),SpringMVC提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。

ViewResolver:
	进行视图解析,根据逻辑视图名解析成真正的视图,ViewResolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。

Model:
	返回的数据对象。

View:
	实现类支持不同的View类型(jsp、freemarker、pdf...)。

SpringMVC工作流程

1、用户发送http请求到web服务器,web服务器解析http请求,匹配到DispatcherServlet的请求映射路径(在web.xml文件中配置),web容器将请求转交给DispatcherServlet。

2、中央调度器DispatcherServlet接收到请求后,会根据http请求以及HandlerMapping中的配置找到处理请求的处理器Handler。

3、HandlerMapping 找到对应的 Handler 之后,并不是返回一个 Handler 原始对象,而是一个 Handler 执行链(HandlerExecutionChain),在这个执行链中包括了拦截器和处理请求的 Handler。HandlerMapping 返回一个执行链给 DispatcherServlet。

4、DispatcherServlet 接收到执行链之后,会调用 Handler 适配器去执行 Handler。

5、HandlerAdapter执行完成 Handler之后会得到一个 ModelAndView,并返回DispatcherServlet。

6、DispatcherServlet 接收到 HandlerAdapter 返回的 ModelAndView 之后,会根据其中的视图名调用 ViewResolver。

7、ViewResolver 根据逻辑视图名解析成一个真正的 View 视图,并返回给 DispatcherServlet。

8、DispatcherServlet 接收到视图之后,会根据上面的 ModelAndView 中的 model 来进行视图中数据的填充,也就是所谓的视图渲染。

9、渲染完成之后,DispatcherServlet 就可以将结果返回给用户了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值