Spring MVC的执行流程

分为两个阶段:视图阶段(老旧的JSP)和前后端分离阶段(接口开发、异步)。

视图阶段:

  1. 用户发送请求到前端控制器
  2. 前端控制器接收到请求后调用处理器映射器
  3. 根据请求的 URL 映射到具体的处理器(Controller)(RequestMappingHandlerMapping 是 Spring MVC 默认使用的 HandlerMapping 实现类,它通过扫描 @Controller@RequestMapping 注解来建立 URL 与处理器的映射关系。)。返回给前端控制器一个 处理器执行链,包含处理器和拦截器。
  4. 前端控制器调用处理器适配器。
  5. 处理器适配器调用具体的处理器(Controller/Hander)。
  6. Controller 执行完成返回 ModelAndView 对象(如果配置了拦截器,会在处理器方法执行前后执行拦截器的逻辑)。
  7. 处理器适配器 将 Controller 执行结果 ModelAndView 返回给 前端控制器。
  8. 前端控制器将 ModelAndView 传给 视图解析器。
  9. 视图解析器 解析后返回具体 View (视图)。
  10. 前端控制器根据 View 进行渲染视图(即将模型数据渲染到视图中)。
  11. 前端控制器响应用户。

在这个过程中,前端控制器是整个SpringMVC的核心,它负责协调各个组件的工作。处理器映射器负责将请求映射到对应的Controller,而处理器适配器负责执行Controller。视图解析器则根据逻辑视图名(如JSP文件名)解析出View对象,最后由View渲染出实际的页面内容。

前后端分离阶段

  1. 用户发请求到前端控制器
  2. 前端控制器调用处理器映射器
  3. 处理器映射器找到具体的处理器,返回给前端控制器一个 处理器执行链,包含处理器和拦截器。
  4. 前端控制器调用处理器适配器
  5. 处理器适配器调用具体的处理器(Controller/Hander)。
  6.  方法上添加了 @ResponseBody,通过 HttpMessageConverter 来将返回结果转换为 JSON 并响应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值