SpringMVC的执行流程

简介: 同步异步的区别

1,客户端发送请求到这个DispatcherServlet前端控制器

为什么要有DispatcherServlet这个东西 一是解耦 二是因为tomcat无法直接访问到我们的后端资源

2,前端控制器会通过这个HandlerMapping处理器映射器,找到合适的处理器,就是通过这个输入的url,找到对应的handler

3,返回处理器的执行链,里面会包含多个拦截器的信息,以及需要查找的处理器handler的信息 (利用反射将信息保存在处理器执行链 HandlerExecutionChain)

利用反射动态获取拦截器处理器的信息 然后通过反射存储在HandlerExecutionChain中

4,找处理器适配器HandlerAdapter,这一步开始就会去调用handler里面的方法

5,通过执行这个handler里面的方法,会去找具体的controller方法

从这开始就要分为异步或者同步了

如果是同步请求从5开始 就执行下面

6,找到具体的controller之后,会返回一个modelAndView给这个HanderAdapter给处理器适配器

7,处理器适配器获取到ModelAndView之后,会将这个结果返回给DispatcherServlet前端控制器

8,通过这个ViewResolver视图解析器进行解析这个ModelAndView

9,解析完成之后,会将这个view返回给前端DispatcherServlet前端控制器

10,将model中的数据填充到这个view视图里面,最后去渲染视图

如果是异步请求的话 从5开始

处理完了之后就返回json字符串 到前端控制器 前端控制器就直接返回给客户端了 不需要视图解析视图渲染

相关文章
|
6月前
|
前端开发
SpringMVC的执行流程
SpringMVC的执行流程
|
4月前
|
JSON 前端开发 Java
一文带你深入理解SpringMVC的执行原理
【7月更文挑战第1天】阿里云产品初体验 SpringMVC的执行原理 本文分析的问题:文件上传的请求的处理、跨域的处理、是怎么找到目标方法的、目标方法的执行、目标方法参数的封装、返回值的处理、拦截器的执行、中间出现异常时的处理 涉及组件:文件上传解析器、跨域处理器、处理器映射器、处理器注册中心、处理器执行链、处理器适配器、参数解析器、数据绑定器、类型转换器、返回值处理器、内容协商管理器、消息转换器、异常解析器、
|
6月前
|
XML 存储 JSON
SpringMVC执行流程
SpringMVC执行流程
33 0
|
6月前
|
设计模式 开发框架 前端开发
SpringMVC原理分析 | Hello程序
SpringMVC原理分析 | Hello程序
41 0
|
前端开发 Java
springMVC执行流程详解
springMVC执行流程详解
131 0
springMVC执行流程详解
|
存储 JSON 前端开发
你知道 SpringMVC的 执行流程 吗?
你知道 SpringMVC的 执行流程 吗?
115 0
|
前端开发 Java 调度
springMVC执行流程
springMVC执行流程
114 0
|
XML 前端开发 调度
SpringMVC的执行流程知道嘛
SpringMVC的执行流程知道嘛
56 0
|
存储 前端开发 Java
二.SpringMVC源码剖析-SpringMVC执行流程
上一篇文章写得是SpringMVC组件初始化,这篇文章我们来探讨一下SpringMVC的执行流程