SpringMVC的执行流程

本文概述了SpringMVC中的请求处理过程,从用户请求到DispatcherServlet,再到处理器映射、处理器适配和视图解析,以及现代开发中前后端分离的处理方式,强调了HttpMessageConverter在JSON响应中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

过去的开发中,视图阶段(老旧JSP等)

1.首先用户发送请求到前端控制器DispatcherServlet(这是一个调度中心)

2.前端控制器DispatcherServlet收到请求后调用处理器映射器HandlerMapping

3.处理器映射器HandlerMapping找到具体的处理器,可查找xml配置或注解配置,生成处理器对象及处理器拦截器(如果有),再将处理器执行链返回给DispatcherServlet.

4.前端控制器DispatcherServlet调用处理器适配器HandlerAdapter.

5.处理器适配器HandlerAdapter经过适配调用具体的处理器Handler/Controller.

6.处理器Handler/Controller执行完成返回ModelAndView对象给处理器适配器HandlerAdapter.

7.处理器适配器HandlerAdapter将处理器Handler/Controller的执行结果ModelAndView返回给前端控制器DispatcherServlet.

8.前端控制器DispatcherServlet将ModelAndView传给视图解析器ViewReslover.

9.视图解析器ViewReslover解析后返回具体View视图.

10.前端控制器DispatcherServlet根据View进行渲染视图,即将模型数据填充至视图中

理解记忆思路:主要要弄清前端控制器带来的三个组件处理器映射器、处理器适配器与视图解析器分别是干什么用的,处理器映射器是个map集合可通过key值参数访问路径去寻找value参数访问对应的方法是哪个方法,由于可能会有拦截器存在所以要将方法与拦截器一起封装打包成处理器执行链返回。前端控制器为调度中心三个组件都是由调度中心来调度的彼此之间无直接联系。接收参数时参数的形式类型并不是统一的,为方便接收需要参数类型转换器,返回参数也一样形式多种类型多样需要转换处理,这就是处理器适配器的作用。视图解析器的作用就是将逻辑视图解析为真正的视图。

当然现在的开发,基本都是前后端分离的开发,并没有视图这些,一般都是handler中使用Response直接结果返回.

1.首先用户发送请求到前端控制器DispatcherServlet(这是一个调度中心)

2.前端控制器DispatcherServlet收到请求后调用处理器映射器HandlerMapping

3.处理器映射器HandlerMapping找到具体的处理器,可查找xml配置或注解配置,生成处理器对象及处理器拦截器(如果有),再将处理器执行链返回给DispatcherServlet.

4.前端控制器DispatcherServlet调用处理器适配器HandlerAdapter.

5.处理器适配器HandlerAdapter经过适配调用具体的处理器Handler/Controller.

6.方法上添加了@ResponseBody

7.通过HttpMessageConverter来返回结果转换为JSON并响应.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值