简单讲一下 SpringMVC的执行流程?

执行流程:

1、 用户向服务器发送请求,请求被 Spring 前端控制 Servelt DispatcherServlet 捕获(捕获)

2、 DispatcherServlet对请求  URL进行解析,得到请求资源标识符(URI)。然后根据该  URI,调用 HandlerMapping获得该Handler配置的所有相关的对象(包括  Handler对象以及   Handler对象对应的拦截器),最后以 HandlerExecutionChain对象的形式返回;(查找   handler)

3、 DispatcherServlet  根据获得的 Handler,选择一个合适的  HandlerAdapter。  提取Request 中的模型数据,填充 Handler 入参,开始执行 Handler(Controller), Handler执行完成后,向 DispatcherServlet 返回一个 ModelAndView 对象(执行  handler)

4、DispatcherServlet  根据返回的 ModelAndView,选择一个适合的 ViewResolver(必须是已经注册到 Spring 容器中的 ViewResolver) (选择  ViewResolver)

5、通过 ViewResolver 结合 Model 和 View,来渲染视图,DispatcherServlet 将渲染结果返回给客户端。(渲染返回)

快速记忆技巧:

核心控制器捕获请求、查找Handler、执行Handler、选择ViewResolver,通过ViewResolver渲染视图并返回

原文地址:https://www.cnblogs.com/tiancai/p/9353948.html

时间: 2024-10-08 08:57:15

简单讲一下 SpringMVC的执行流程?的相关文章

简单讲一下SpringMVC的执行流程?

流程示意图 1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获: 2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI).然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回: 3. DispatcherServlet 根据获得的Handle

通过自己实现接口来加深理解SpringMVC的执行流程

功能介绍 上篇文章[从源码角度了解SpringMVC的执行流程]通过接口源码向大家介绍了SpringMVC的执行流程,主要偏重于源码.这篇文件我们来自己实现那几个关键接口,来真实体验下SpringMVC关键的流程,以此来加深理解.功能很简单,通过访问一个地址 /mymvc 来自动跳转到工程首页,但是我们不用SpringMVC自带的Controller等组件,完全自己手动开发.工程结构如下图 代码流程 将自定义的实现类放入Ioc容器中. @Configuration public class My

从源码角度了解SpringMVC的执行流程

目录 从源码角度了解SpringMVC的执行流程 SpringMVC介绍 源码分析思路 源码解读 几个关键接口和类 前端控制器 DispatcherServlet 结语 从源码角度了解SpringMVC的执行流程 SpringMVC的执行流程网上有很多帖子都有讲解,流程图和文字描述都很详细,但是你如果没有通过具体源码自己走一遍流程,其实只是死记硬背.所以想开个帖子从源码角度再梳理一遍SpringMVC的执行流程,加深印象. SpringMVC介绍 SpringMVC采用的是前端控制器(Front

springmvc的执行流程详解

1.什么是MVC MVC是Model View Controller的缩写,它是一个设计模式 2.springmvc执行流程详细介绍 第一步:发起请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求HandlerMapping查找 Handler 可以根据xml配置.注解进行查找 第三步:处理器映射器HandlerMapping向前端控制器返回Handler 第四步:前端控制器调用处理器适配器去执行Handler 第五步:处理器适配器去执行Handler 第六步:Han

Spring MVC入门(一)—— SpringMVC的执行流程与常用注解

一.什么是SpringMVC SpringMVC就是类似于Struts2的mvc框架,属于SpringFrameWork的后续产品.在模型层中与视图层的交互部分. springMVC执行流程: 二.常用注解 1.RequestMapping注解类的使用方法 RequestMapping注解类的属性,分别有 value, method, consumes, produces, params, headers,这里介绍value属性: 代表具体的请求路径,比如上面的 /user, /login 都是

SpringMVC的执行流程

一个请求匹配前端控制器 DispatcherServlet 的请求映射路径(在 web.xml中指定), WEB 容器将该请求转交给 DispatcherServlet 处理DispatcherServlet 接收到请求后, 将根据 请求信息 交给 处理器映射器 (HandlerMapping)HandlerMapping 根据用户的url请求 查找匹配该url的 Handler,并返回一个执行链DispatcherServlet 再请求 处理器适配器(HandlerAdapter) 调用相应的

Java SpringMVC框架学习(三)springMVC的执行流程

具体执行逻辑如下: 浏览器提交请求到中央调度器. 中央调度器将请求转给处理器映射器. 处理器映射器根据请求, 找到请求对应的处理器, 并将其封装为处理器执行链返回给中央调度器. 中央调度器根据处理器执行链中的处理器, 找到能够执行该处理器的适配器. 适配器调用执行处理器. 处理器将处理结果以及要跳转的视图封装到一个对象ModelAndView中, 并将其返回给处理器适配器. 适配器将结果返回给中央调度器. 中央调度器调用视图解析器, 将ModelAndView中的视图名封装为视图对象. 视图解析

SpringMVC——MVC执行流程底层剖析

SpringMVC流程图如上面所示,根据上图,串联一下底层源码: 1.在DispatcherServlet中找到doDisPatch 2.观察方法体,然后找到getHandler方法 3.点进方法,发现也是调用另一个getHandler方法 4.点进方法,发现是一个接口,然后我们进入其抽象类的AbstractHandlerMapping的getHandler方法: 5.查看getHandlerExecutionChain方法 protected HandlerExecutionChain get

SpringMVC的执行流程(二)

文字解析: 1.客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配 DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给 DispatcherServlet.2.DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL.Http方法.请求报文 头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler).3-4.DispatcherServlet根据