SpringMVC学习总结(七).SpringMVC运行流程与源码解析

本文详细介绍了 SpringMVC 的运行流程,包括用户请求处理、业务逻辑执行及视图渲染等关键步骤,并探讨了配置及源码解析等内容。

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

SpringMVC运行流程

图一:



图二:


总结:

1、 用户发起请求到前端控制器;

2、 前端控制器没有处理业务逻辑的能力,需要找到具体的模型对象处理(Handler),到处理器映射器中查找Handler对象;

3、 HandlerMapping返回执行链,包含了2部分内容

a) Handler对象

b) 拦截器数组(list

4、 前端控制器通过适配器包装后执行Handler对象

5、 处理业务逻辑

6、 Handler处理完业务逻辑,返回ModelAndView对象,其中view是视图名称,不是真正的视图对象;

7、 将ModelAndView返回到前端控制器

8、 前端控制器通过视图名称到视图解析器中查找视图;

9、 视图解析器返回真正的视图对象(View);

10、 前端控制器根据模型数据和视图对象,进行视图渲染;

11、 返回渲染后的视图(html/json/xml)返回

12、 给用户产生响应



springmvc默认的配置



使用注解驱动后的推荐配置




SpringMVC源码解析







①.由HandlerMapping 获取HandlerExecutionChain 对象







②.获取适配器对象


③.调用拦截器的前置方法


④.调用目标Handler的目标方法,得到ModelAndView

⑤.调用拦截器后置方法


⑥.处理结果,是否有异常


⑦.拦截器的完成方法




Spring MVC WEB层容器可以作为“业务层”Spring容器的子容器:即web层容器可以访问引用业务层容器的bean,而业务层容器却访问不到WEB层容器的bean 

springmvc为子容器,spring为父容器。
子容器可以访问到父容器的bean,反之不可以访问到



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值