浅谈Spring MVC模式运行流程(通俗易懂版)

本文详细介绍了Spring MVC的工作流程,从用户发起请求开始,依次解释了前端控制器DispatcherServlet、处理器映射器HandlerMapping、处理器适配器HandlerAdapter、视图解析器ViewResolver等组件的作用及其交互过程。

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

  1. 当用户提交表单或者点击某个URL的时候,浏览器就会向后端服务器发送一个携带用户的信息请求。
  2. 这个请求首先会被前端控制器DispatcherServlet所拦截,它相当于一个大老板,是整个流程控制的中心,控制其它组件执行,统一调度。由于他只是一个控制器,处理不了具体的请求,于是,他就把任务分配给小秘书A,HandlerMapping处理器映射器,查一下是否有这个请求对应的处理器。(让他去
    查查这块业务有人管吗,归哪个部门管啊,主管是谁啊)
  3. 于是HandlerMapping处理器映射器就会通过xml配置、注解找到合适的处理器,并把处理器,处理器拦截器(如果有则生成)给前端控制器DispatcherServlet带过去。(小秘书就屁颠屁颠把部门A的主管给老板带过去了,老板表示很开心,中午给你加个鸡腿)
  4. 然后,前端控制器DispatcherServlet就调用HandlerAdapter处理器适配器,让他经过适配找到合适的处理器(Controller,也叫后端控制器)。(部门A的主管就找到具体处理这项业务的打工人A,让他负责处理问题)
  5. 处理器Controller将处理结果及要跳转的视图封装到一个对象ModelAndView中,并将其返回给处理器适配器HandlerAdaptor,再由处理器适配器HandlerAdaptor把结果直接返回给前端控制器DispatcherServlet(主管就把打工人A用头发换来的数据和视图全部发给了老板)
  6. 由于前端控制器DispatcherServlet解析不了ModelAndView中的View,于是将ModelAndView交给ViewReslover视图解析器,交给他去解析(老板一看,这数据能看懂,画的是什么鬼图,于是他叫来他小秘书B,视图解析器,帮他翻译翻译)
  7. 于是呢,视图解析器ViewReslover哼哧哼哧的解析完并返回具体View给前端控制器DispatcherServlet
  8. 前端控制器DispatcherServlet调用视图对象,让其进行渲染,即进行数据填充,形成响应对象。(大老板最后将客户索要的数据都打包好)
  9. 前端控制器响应浏览器.

如有理解不对的地方,还请指正!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Otto_1027

蟹蟹你,我会继续努力的~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值