Java Spring MVC工作流程
本文是对 SpringMVC 工作流程的总结,自己一定要可以用语言描述。
名词解释:
DispatcherServlet:前端控制器,是 SpringMVC 工作流程的中心,负责调用其他组件,在系统启动时就加载该类。
Handler:后端处理器,对用户具体请求进行处理,也就是我们编写的 Controller 类。
HandlerMapping:处理器映射器,根据用户访问的 URL 映射到对应的后端处理器 Handler,根据不同的映射处理器可实现不同的映射,比如 xml 配置(现在不常用)、注解配置(最常用)。
HandlerExecutionChain:后端处理器 Handler 相关对象,包括 Handler 对象和对应的拦截器对象,以 HandlerExecutionChain 对象包含了这些相关的对象。
ModelAndView:逻辑视图,包括数据模型和视图名。
HandlerAdapter:处理器适配器,调用后端处理器中的方法,返回逻辑视图 ModelAndView 对象。
ViewResolver:视图解析器,将 ModelAndView 逻辑视图解析为具体的视图(如 JSP,PDF等)。
工作流程:
1、当用户向服务器发送请求时,会被 DispatcherServlet 拦截。
2、DispatherServlet 解析用户访问的 URL,并调用处理器映射器 HandlerMapping。
3、 处理器映射器 HandlerMapping 映射到对应的后端处理器 Handler(注意这里只是找到了对应的 Controller 类,并没有执行其中的方法),Handler 对象以及 Handler 对象相关的拦截器对象会被封装到 HandlerExecutionChain 对象中返回给 DispatcherServlet。
4、DispatcherServlet 根据后端处理器 Handler 对象来调用适合的处理器适配器。
5、HandlerAdapter 调用 Handler 对象执行 Handler 中的方法,在 Handler 的方法中,可以做一些额外的工作,如消息转换(如 JSON、XML 和 Java 对象的互转)、数据转换(如 String 和 Integer、Double的互转)、数据格式化(如日期)、数据校验(后端校验),最终返回 ModelAndView 对象给 DispatcherServlet,该对象包含视图名和数据模型。
6、DispatcherServlet 根据 ModelAndView 对象来调用适合的视图解析器 ViewResolver。
7、ViewResolver 解析 Model 和 View 返回具体的 view 给 DispatcherServlet。
8、DispatcherServlet 对 view 进行渲染,返回具体的视图给客户端显示,如 JSP,JSON、XML、PDF等。
对于本文感兴趣的小伙伴们可以观看此https://www.bilibili.com/video/av30641870/,一个技术大牛手写SpringMVC框架的视频
Java Spring MVC工作流程的更多相关文章
- spring mvc 工作流程
Spring Web MVC 处理Http请求的大致过程:一旦Http请求到来,DispatcherSevlet将负责将请求分发.DispatcherServlet可以认为是Spring提供的前端控制 ...
- Spring MVC工作流程
本文回答Spring MVC如何处理一个请求的. 1.请求是由中央调度器DispatcherServlet接收的. 2.中央调度器将请求交给处理器映射器HandlerMapping,处理器映射器解析请 ...
- Spring MVC 工作流程详解
1.首先先来一张图 开始流程----------------> 1.用户发送请求到前端控制器,前端控制器会过滤用户的请求,例如我们在web.xml里面配置的内容: <!-- 配置Sprin ...
- Spring MVC工作原理及源码解析(三) HandlerMapping和HandlerAdapter实现原理及源码解析
1.HandlerMapping实现原理及源码解析 在前面讲解Spring MVC工作流程的时候我们说过,前端控制器收到请求后会调⽤处理器映射器(HandlerMapping),处理器映射器根据请求U ...
- Java——一文读懂Spring MVC执行流程
说到Spring MVC执行流程,网上有很多这方面的文章介绍,但是都不太详细,作为一个初学者去读会有许多不理解的地方,今天这篇文章记录一下我学习Spring MVC的心得体会 话不多说,先上图: Sp ...
- Spring MVC 工作原理和流程、注解
Spring MVC 是实现MVC设计模式的企业级开发框架,是Spring框架的一个子模块,无需整合,开发起来更加便捷. MVC设计模式 MVC是一种设计模式,它将应用程序分为 Controller. ...
- spring mvc处理流程概述
大部分Java应用都是Web应用,展现层是Web应用不可忽略的重要环节.Spring为展现层提供了一个优秀的Web框架-Spring MVC.和众多其他Web框架一样,它基于MVC设计理念,此外,它采 ...
- Spring MVC工作原理及源码解析(一) MVC原理介绍、与IOC容器整合原理
MVC原理介绍 Spring MVC原理图 上图是Spring MVC工作原理图(图片来自网上搜索),根据上图,我们可以得知Spring MVC的工作流程如下: 1.用户(客户端,即浏览器)发送请求至 ...
- Spring MVC请求处理流程
从web.xml中 servlet的配置开始, 根据servlet拦截的url-parttern,来进行请求转发 Spring MVC工作流程图 图一 图二 Spring工作流程描述 ...
随机推荐
- log4j一些配置用法
Log4j基本用法----日志级别 基本使用方法: Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN.INFO ...
- .Net Core 3.0原生Json解析器
微软官方博客中描述了为什么构造了全新的Json解析器而不是继续使用行业准则Json.Net 微软博客地址:https://devblogs.microsoft.com/dotnet/try-the-n ...
- Kubernetes组件-ReplicaSet
⒈简介 最初,ReplicationController是Kubernetes用于复制和在异常时重新调度节点的唯一组件,后来Kubernetes又引入了一个名为ReplicaSet的类似资源.它是新一 ...
- windows下安装mongoDB(zip版)
windows下安装mongoDB(zip版) 下面说明如何在win10下用zip包安装好mongoDB数据库 首先要先从网上下载mongoDB的zip包 http://dl.mongodb.org/ ...
- Attribute自定义特性+Asp.net MVC中的filter详解
转载自:http://blog.csdn.net/wangyy130/article/details/44241957 一.filter简介 在了解自定义特性前,先引入一个概念filter,它是MVC ...
- vue runtime报错问题
Webpack中导入vue和普通网页中导入vue的区别1. 普通网页导入vue方式 <script></script> 2. Webpack导入vue方式 Import Vue ...
- Python下载安装及验证
目录: 一.Python介绍 二.python安装及验证 一.Python介绍 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个 ...
- Oracle权限管理详解(2)
详见:https://blog.csdn.net/u013412772/article/details/52733050 Oracle数据库推荐以引用博客: http: http:.html http ...
- 变种XSS:持久控制
变种XSS:持久控制 tig3r · 2015/11/30 10:42 0x00 引言 首先声明,这不是一个新洞,看过 Homakov 文章(最后附)以及译文的人想必对这种漏洞有所了解. 但原文写的太 ...
- axios 简单二次封装
import axios from 'axios' import { Message } from 'element-ui'; // 设置baseURL //axios.defaults.baseUR ...