SpringMVC的执行过程

SpringMVC的执行过程

在这里插入图片描述

流程描述

  1. 客户端发送请求给核心控制器(DispatchServlet),核心控制器获得请求后,根据请求的url在处理器映射器中查找对应handler对象(控制器对象)
  2. 处理器映射器将找到的Handler对象返回给核心控制器
  3. 核心控制器委派处理器适配器HandlerAdapter执行Handler(有一系类的执行链HandlerExecutionChain )
  4. 处理器适配器HandlerAdapter将请求转给Handler对象执行具体业务
  5. 处理器对象Handler,调用Model层进行业务处理,将结果返回给处理器适配器HandlerAdapter,返回的结果为ModelAndView对象(Model指数据,view指视图)
  6. 处理器适配器HandlerAdapter将ModelAndView对象返回给核心控制器
  7. 核心控制器调用视图解析器对View进行解析,视图解析器根据核心控制器发送来的逻辑视图解析为一个物理视图并将物理视图返回给核心控制器
  8. 核心控制器调用视图渲染器将视图渲染(将model数据加载到特定的对象如request)
  9. 核心控制器向客户端响应

补充:

SpringMVC对应的实现是在DispatchServlet下实现的,该对象在初始化的时候就会把映射器、适配器、视图解析器、异常处理器、文件处理器等等都初始化好具体的在DispatchServlet.properties文件里面配置,请求其实进入DoService方法,主要调用的是DoDispatch方法,映射器就是查找到路径,具体实现在HandlerExecutionChain(映射器最终实例+拦截器list),然后获取适配器RequestMappingHandlerAdapter【ResController】(@ResponseBody和@RequestBody)执行handler方法,最终处理逻辑决定于HttpMessageConverter的实例对象

DispatchServlet:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值