【SpringMVC】一文带你彻底搞懂SpringMVC的工作流程(最强详解!!)

目录

首先来说明一下,SpringMVC的各个组成部分

DispatcherServlet

HandlerMapping

Handler(通常就是Controller)

HandlerAdapter

ViewResolver

View

SpringMVC具体的工作流程


首先来说明一下,SpringMVC的各个组成部分

DispatcherServlet

是SpringMVC的核心部分,是一种前端控制器,由框架所提供

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

HandlerMapping

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

作用:根据请求的url、method等信息来查找具体的Handler(通俗讲------通常来说就是Controller

Handler(通常就是Controller)

处理器,注意------这个就是软件开发人员自己开发设计的部分

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

HandlerAdapter

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

作用:根据HandlerMapping所提供的Handler信息,会按照特定的规则去执行相关的处理器Handler
小结

  • Handler------是用来干活的工具
  • HandlerMapping------是根据需要干的活找到对应的工具
  • HandlerAdapter------是具体用工具干活的那个人

ViewResolver

视图解析器------由框架提供

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

View

视图------软件开发人员自己设计

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

SpringMVC具体的工作流程

以上就是SpringMVC的流程图

用文字描述就是以下:

1、用户将请求发送,由前端控制器DispatcherServlet来拦截并接收请求

2、前端控制器DispatcherServlet收到请求之后调用处理器映射器(HanlderMapping),区查找与请求对应的Handler

3、处理器映射器(HanlderMapping)找到具体的处理器(根据xml配置、注解等方式进行查找),返回一个处理器执行链(是一个包含处理器对象和拦截器(Interceptor)的对象【如果有拦截器的话】)

4、然后前端控制器DispatcherServlet调用了处理器适配器HandlerAdapter

5、处理器适配器会找到具体Handler的具体方法,并将获取到的参数执行完成之后将结果继续返回给DispatcherServlet(结果通常是ModelAndView)

6、然后前端控制器(DispatcherServlet)会调用视图解析器,并将ModelAndView传给它(ViewResolver)

7、视图解析器(ViewResolver)将获得的参数从逻辑视图转换为物理视图对象(View)返回给前端控制器(DispatcherServlet)

8、前端控制器(DispatcherServlet)调用物理视图进行渲染并返回。

9、前端控制器(DispatcherServlet)将渲染完毕的页面响应给用户

相关推荐
雨白2 小时前
Java 多线程指南:从基础用法到线程安全
android·java
Hungry_Shark2 小时前
IDEA版本控制管理之使用Gitee
java·gitee·intellij-idea
赛姐在努力.2 小时前
《IDEA 突然“三无”?三秒找回消失的绿色启动键、主菜单和项目树!》
java·intellij-idea
猎板PCB黄浩2 小时前
从废料到碳减排:猎板 PCB 埋容埋阻的绿色制造革命,如何实现环保与性能双赢
java·服务器·制造
ZzzK,2 小时前
JAVA虚拟机(JVM)
java·linux·jvm
西红柿维生素2 小时前
JVM相关总结
java·jvm·算法
coderxiaohan3 小时前
【C++】类和对象1
java·开发语言·c++
ChillJavaGuy4 小时前
常见限流算法详解与对比
java·算法·限流算法
寻星探路4 小时前
数据库造神计划第六天---增删改查(CRUD)(2)
java·大数据·数据库
毕设源码-朱学姐4 小时前
【开题答辩全过程】以 4S店汽车维修保养管理系统为例,包含答辩的问题和答案
java·spring boot·汽车