spring MVC执行流程与源码解析

springMVC执行流程分析

对于一个springMVC入门案例的执行流程:

1、(客户端)浏览器发送请求到DispatcherServlet前端控制器,

2、DispatcherServlet前端控制器接收到请求后回去找HandlerMapping处理器映射器

3、通过HandlerMapping处理器映射器查找合适(根据request对象)的处理器(也就是controller类)

4、HandlerMapping处理器映射器会给DispatcherServlet前端控制器返回处理器执行链HandlerExecutionChain,在这个执行链里面包含了拦截器HandlerInterceptor和Handler

5、拿到执行链后就会去找HandlerAdapter处理器适配器,这个才是真正区调用controller里面的方法的。(映射器是找controller、适配器是调用controller)

6、HandlerAdapter处理器适配器会去调用Handler(controller),执行处理器里面的方法

8、处理器里面的方法执行完之后会给处理器适配器HandlerAdapter返回ModelAndView对象,再返回给DispatcherServlet前端控制器。

9、DispatcherServlet前端控制器接收到ModelAndView对象会传给ViewResolver视图解析器,进行试图解析(拼接前后缀)

10、ViewResolver视图解析器给DispatcherServlet前端控制器返回View对象

11、将model中的数据填充至view中,渲染视图(controller中会设置后变量名和值,前端可以根据变量名取值,进行渲染),最终响应给客户端

 doService方法()

在DispatcherServlet中会有一个doService方法,这里其实是调用了继承父类Servlet的Service方法,在这里面会判断请求方式,根据不同的请求方式执行具体的doService方法,但在父类里面这只是一个抽象方法,具体实现就是DispatcherServlet里面的doService()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值