spring mvc 执行流程和模块分解


前言

    本文通过阅读官方文档并结合代码调试的方式对spring mvc的执行流程和内部模块进行拆解,
主要目的在于学习spring的设计理念同时加深对其的了解。

Spring MVC官方文档 Version 5.3.22
https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc%20springmvc

Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块(spring-webmvc)的名称,但它通常被称为“Spring MVC”。Spring Framework 5.0引入了一个反应式堆栈Web框架,其名称“Spring WebFlux”也基于其源模块(spring-webflux)。
Spring MVC与许多其他Web框架一样,是围绕前端控制器模式设计(DispatcherServlet)的,为请求处理提供共享算法,而实际工作由可配置的委托组件执行。此模型非常灵活,支持不同的工作流。Servlet DispatcherServlet与其它实现一样,需要根据 Servlet 规范使用 Java 配置或在 中声明和映射。反过来,使用Spring配置来发现请求映射,视图解析,异常处理等所需的委托组件。
DispatcherServlet Servlet web.xml DispatcherServlet


环境

组件版本
spring web5.3.8
java11

一、spring mvc架构图

// TODO

二、spring mvc概要流程图

在这里插入图片描述

三、spring mvc 请求内部流程细则

spirng mvc流程细则v1

四、模块拆解

4.1.HandlerMapping

4.1.1.spring mvc怎么在一次请求中找到controller

4.1.2.RequestMappingInfo

4.1.3.HandlerMethod

4.2.HandlerAdapter

4.2.1.spring mvc怎么样调用controller(method)

4.2.2.RequestMappingHandlerAdapter

4.3.HttpMessageConverter


总结

以上就是今天要讲的内容,本文介绍了spring mvc的使用,经过对spring mvc的深入了解可以帮助我们在后面开发web应用时对各种常用组件(filter、intercepter、HttpMessageConverer)的使用和问题排查。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值