当前位置:首页 > Java技术 > springmvc的核心流程

springmvc的核心流程

2022年08月05日 21:03:23Java技术6

简单的模拟场景:

1.用户访问的url,就比如一个人进公司,必须要先经过公司的大门才能进去,请求也是一样,它必须先经过Dispatcher Servlet的前端控制器, 

2.我们工作需要有工作地点吧(请求需要工作),可是不认路啊(请求需要在哪里被分析),所以我们需要去找到地图,然后在地图上找到地点,在SpringMVC中,从Dispatcher Servlet先找到Handler Mapper,然后Handler Mapper找到工作点的老板(HandlerAdapter)。

3.我们知道怎么找到工作点了,而且路径是从公司大门(Dispatcher Servlet前端控制器)开始的,我们按照地图(HandlerMapper组件里面的信息)的指引找到了安排我们工作的HandlerAdapter。

4.老板指使我们工作,我们身为员工(Handler,也就是请求所对应的事件),工作的内容就控制层(也就是MVC中的C)下请求url所对应的方法,工作完成之后,我们需要提交工作数据呈现给老板看(返回ModelAndView对象给HandlerAdapter)

5.之后老板把你的工作数据贴到公司大门上(将ModelAndView对象返回给DispatcherServlet),再经历一番修饰后呈现给来往的客人看(用户) 


详细的工作流程:

1、用户发送请求至前端控制器DispatcherServlet 
2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 
3、处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(二者组成HandlerExecutionChain),并将其一并返回给DispatcherServlet。 
4、DispatcherServlet通过HandlerAdapter处理器适配器调用处理器 
5、执行处理器(Controller,也叫后端控制器)。 
6、Controller执行完成返回ModelAndView 
7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet 
8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器 
9、ViewReslover解析后返回具体View 
10、DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。 

11、DispatcherServlet对用户进行响应

看图了解:

springmvc的核心流程 _ JavaClub全栈架构师技术笔记

注:图片来源百度,部分文字理解参照博客园文章和CSDN文章

参考来源:https://www.cnblogs.com/xxzhuang/p/5940709.html

作者:Andy_ayu
来源链接:https://blog.csdn.net/Andy_ayu/article/details/79528208

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/17954.html

标签: SpringMVC
分享给朋友:

“springmvc的核心流程” 的相关文章

SpringMVC学习系列(9) 之 实现注解式权限验证

SpringMVC学习系列(9) 之 实现注解式权限验证

对大部分系统来说都需要权限管理来决定不同用户可以看到哪些内容,那么如何在Spring MVC中实现权限验证呢?当然我们可以继续使用servlet中的过滤器Filter来实现。但借助于Spring MVC中的action拦截器我们可以实现注解式的权限验证。 一.首先介绍一下acti...

SpringBoot和SpringMVC的区别

SpringBoot和SpringMVC的区别

一 面试提问 👨‍💻面试官:SpringBoot和SpringMVC的区别 🙋我: 形式上:SpringBoot是一个自动化配置的工具;SpringMVC是一个web框架 在搭建项目时:SpringMVC需要手动配置xml...

SpringMvc两种实现

SpringMvc两种实现

SpringMvc搭建 了解mvc 什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组织代码。...

SpringMVC重定向

SpringMVC重定向

一、springMVC重定向有两种方式 @Controller @RequestMapping("/OA") public class RedirectService { @RequestMapping(value="/index") public String te...

Spring MVC 3 深入总结

Spring MVC 3 深入总结

  一、前言: 大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也...

SpringMVC 工作原理详解

SpringMVC 工作原理详解

本文Github开源项目https://github.com/Snailclimb/JavaGuide,只供自己学习总结无商业用途,如有侵权,联系删除 先来看一下什么是 MVC 模式 MVC 是一种设计模式. MVC 的原理图如下: S...

SpringMVC常见问题

SpringMVC常见问题

文章目录 404错误 请求的url不存在 500错误 请求的url未绑...

SpringMVC和Springboot的区别(网摘)

spring boot 我理解就是把 spring spring mvc spring data jpa 等等的一些常用的常用的基础框架组合起来,提供默认的配置,然后提供可插拔的设计,就是各种 starter ,来方便开发者使用这一系列的技术,套用官方的一句话, spring 家族发展...

Springmvc bigdecimal精度丢失问题

一、在实体使用注解的方式 @JsonSerialize(using=ToStringSerializer.class) private BigDecimal minPrice = new BigDecimal(0); 二、使用配置方式 1、实现ObjectMap...

SpringMVC传递与接收数组或列表参数

SpringMVC传递与接收数组或列表参数

当用户在页面触发某种请求时,一般会将一些参数(key/value)带到后台。在SpringMVC中可以通过参数绑定,将客户端请求的key/value数据绑定到Controller处理器方法的形参上。 有时候前端请求的数据是批量的,此时就要求Web端去处理请求时,获取这些批量...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。