SpringMVC执行流程以及各组件介绍

本文详细介绍了SpringMVC框架的工作原理,包括请求处理流程、核心组件及其职责,如DispatcherServlet、HandlerMapping、HandlerAdapter等。并通过一个简易的SpringMVC框架搭建示例,帮助读者深入理解其内部机制。

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

什么是SpringMVC

SpringMvc 是Spring 的一个基于MVC开发的一个框架,用来处理前端请求,可以和Spring无缝整合

描述 SpringMVC的请求流程:

  1. Http请求通过web.xml 的配置 进入DispatcherServlet,正式进入SpringMvc
  2. DispatcherServlet 通过HandlerMapping查找Handler (根据注解 RequestMapping)
  3. DispatcherServlet 找到HandlerAdapter(适配器)
  4. 由适配器来执行对应的 Handler(Controller)
  5. 获取到Handler返回的ModelAndView,然后调用试图解析器进行视图解析。
  6. 进行视图渲染,将结果返回到前端
  7. UML时序图:
    在这里插入图片描述
  8. 对应的代码: org.springframework.web.servlet.DispatcherServlet#doDispatch ,Debug 多走读一下,应该没有什么问题了

SpringMVC的核心类(接口):

  1. DispatcherServlet :前置控制器,配置在web.xml文件中的。拦截匹配的请求,把拦截下来的请求进入到SpringMVC流程中,并调用下面的组件完成请求。
  2. HandlerMapping:处理器映射,根据请求的Url 找到HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器)对象;
  3. HandlerAdapter:适配器,将会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用
  4. ViewResolver:视图仓库
  5. View:具体解析视图
  6. HandlerExceptionResolver :异常捕捉器,捕获业务逻辑中抛出的异常,然后对系统异常时跳转异常界面,避免用户界面显示一串Exception信息。
  7. HandlerInterceptor : 拦截器

简单搭建一个SpringMVC框架:

  1. 博主搭建了使用一个简易的SpringMVC框架,主要Jar :spring-webmvc 、fastjson,其中包含Controller 、HandlerInterceptor 、HandlerExceptionResolver 的实现:
    url : https://download.csdn.net/my
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值