SpringMVC工作流程(详-小白版)

SpringMVC工作流程(详-小白版)一 SpingMVC 的六大常用组件 1 DispatcherSe 是一种前端控制器 由框架提供 作用 统一处理请求和响应 除此之外还是整个流程控制的中心 由 DispatcherSe 来调用其他组件 处理用户的请求 2 HandlerMappi 翻译为 处理器映射器 也可理解为 处理程序映射的一段代码 由框架提供 作用 根据请求的 url method 等信息查找 Handler 控制器方法 3 Handler 翻译为 处理器 注意 这个需由工程师自己开发

目录

一、SpingMVC的常用组件

 二、SpringMVC的工作流程


一、SpingMVC的常用组件

1)DispatcherServlet

是一种前端控制器,由框架提供。

作用:统一处理请求和响应。除此之外还是整个流程控制的中心,由 DispatcherServlet 来调用其他组件,处理用户的请求

2)HandlerMapping

处理器映射器,由框架提供。

作用:根据请求的 url、method 等信息来查找具体的 Handler(一般来讲是Controller)

3)Handler(一般来讲是Controller)

处理器,注意,这个需由工程师自己开发。

作用:在 DispatcherServlet 的控制下,Handler对具体的用户请求进行处理

4)HandlerAdapter

处理器适配器 ,由框架提供。

作用:根据映射器找到的处理器 Handler 信息,按照特定的规则去执行相关的处理器 Handler

 小结:

Handler 是用来干活的工具;

HandlerMapping 用于根据需要干的活找到相应的工具;

HandlerAdapter 是使用工具干活的人。详细讲解可以看这篇博客(115条消息) SpringMVC 处理器适配器详解_aFa攻防实验室的博客-CSDN博客_处理器适配器

5)ViewResolver

视图解析器,由框架提供。

作用: ViewResolver 负责将处理结果生成 View 视图。 ViewResolver 首先根据逻辑视图名解析成物理图名,即具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户。

6)View

视图,工程师自己开发

作用:View接口的职责就是接收model对象、Request对象、Response对象,并渲染输出结果给Response对象。

 二、SpringMVC的工作流程

咱们先看图,从左上角的浏览器进行顺时针观看(话说有没有画图大佬可以指教一下俺 9.9 ,在线求教~)SpringMVC工作流程(详-小白版)

 具体的流程:

1. 用户通过浏览器发起 HttpRequest 请求到前端控制器 (DispatcherServlet)。

2. DispatcherServlet 将用户请求发送给处理器映射器 (HandlerMapping)。

3. 处理器映射器 (HandlerMapping)会根据请求,找到负责处理该请求的处理器,并将其封装为处理器执行链 返回 (HandlerExecutionChain) 给 DispatcherServlet

4. DispatcherServlet 会根据 处理器执行链 中的处理器,找到能够执行该处理器的处理器适配器(HandlerAdaptor)    –注,处理器适配器有多个

5. 处理器适配器 (HandlerAdaptoer) 会调用对应的具体的 Controller

6. Controller 将处理结果及要跳转的视图封装到一个对象 ModelAndView 中并将其返回给处理器适配器 (HandlerAdaptor)

7. HandlerAdaptor 直接将 ModelAndView 交给 DispatcherServlet ,至此,业务处理完毕

8. 业务处理完毕后,我们需要将处理结果展示给用户。于是DisptcherServlet 调用 ViewResolver,将 ModelAndView 中的视图名称封装为视图对象

9. ViewResolver 将封装好的视图 (View) 对象返回给 DIspatcherServlet

10. DispatcherServlet 调用视图对象,让其自己 (View) 进行渲染(将模型数据填充至视图中),形成响应对象 (HttpResponse)

11. 前端控制器 (DispatcherServlet) 响应 (HttpResponse) 给浏览器,展示在页面上。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199257.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午1:30
下一篇 2026年3月26日 下午1:30


相关推荐

  • bool型函数「建议收藏」

    bool型函数「建议收藏」bool介绍C++中bool函数如果值非零就为True,为零就是False。比如写数据结构的时候,有时候需要判断一下链表是不是为空,这时候需要用到bool函数,再者,你看到bool就知道这个函数返回值只是用于判断真假。bool函数返回的只有true和false。而int会返回各种数字,但是你关心的不是数字的多少,而是这个数字为不为0.所以这种情况用bool会更加简洁,规范,你看到bo…

    2022年6月5日
    33
  • OpenClaw 接入微信:零基础打造个人微信 AI 助理

    OpenClaw 接入微信:零基础打造个人微信 AI 助理

    2026年3月16日
    2
  • 林俊旸告别阿里,千问站在了“十字路口”

    林俊旸告别阿里,千问站在了“十字路口”

    2026年3月14日
    3
  • Springboot启动报错[ main] o.s.boot.SpringApplication: Application run failed(佷有可能是版本问题)

    Springboot启动报错[ main] o.s.boot.SpringApplication: Application run failed(佷有可能是版本问题)前言:本人小白一枚,最近在自学JAVA时遇到了一个小问题,在网上求解无果后,自己找到了原因,这里跟大家分享一下。开发环境:Win10;IntelliJIDEA2021.3.2版本信息:Java\jdk-17.0.2;apache-maven-3.8.4-bin;springboot2.3.4编程目的:本人之前对JAVA一窍不通,最近在自学JAVA时想要用JAVA,Springboot和maven搭建一个最基础的helloworld程序。报错信息:ERROR后面显示“o.s.boot.

    2025年10月9日
    5
  • Kong Api 初体验

    Kong Api 初体验转载请标明出处:https://blog.csdn.net/forezp/article/details/79383631本文出自方志朋的博客Kong是一个可扩展的开源API层(也称为API网关或API中间件)。Kong运行在任何RESTfulAPI的前面,并通过插件扩展,它们提供超出核心平台的额外功能和服务。Kong最初是在Mashape建立的,用于为其AP…

    2022年6月26日
    25
  • Multipass入门教程

    Multipass入门教程一款极好用的轻量级 Ubuntu 虚拟机 Multipass 它是一款没有冗余且占内存的图形界面的命令行工具

    2026年2月20日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号