SpringMVC:SpringMVC执行流程

文章目录

  • 一、介绍
  • 二、什么是MVC

一、介绍

Spring MVC 是一种基于Java的Web框架,它采用了MVC(Model - View - Controller)设计模式,通过吧Model、View和Controller分离,将Web层进行职责解耦,把复杂的Web应用分成逻辑清晰的几部分简化开发。其执行流程主要包括以下几个步骤:

  • 客户端发送请求到DispatcherServlet,当客户端在浏览器中输入URL并发送请求时,请求会到达前端控制器DispatcherServlet。
  • DispatcherServlet会将请求的URL传递给HandlerMapping,HandlerMapping会根据URL找到相应的处理器(即Controller)。
  • HandlerMapping会返回找到的处理器及其相关拦截器给DispatcherServlet,DispatcherServlet会将他们保存在处理器执行链中。处理器链中包含多个拦截器的信息,以及需要查找的处理器handler的信息。
  • DispatcherServlet会将处理器对象传递给HandlerAdapter,HandlerAdapter会根据处理器调用相应的方法。
  • HandlerAdapter会调用处理器(Controller)的方法进行业务处理,并将处理结果封装成ModelAndView对象。
  • 处理器会将处理结果封装成ModelAndView对象,并将其返回给HandlerAdapter。
  • HandlerAdapter会将ModelAndView对象返回给DispatcherServlet,DispatcherServlet会将其保存起来。
  • DispatcherServlet会将ModelAndView中的viewName传递给ViewResolver,ViewResolver会根据viewName查找具体的视图对象(即View对象)。
  • ViewResolver会将找到的视图对象返回给DispatcherServlet,DispatcherServlet会将其保存起来。
  • DispatcherServlet会调用View的渲染方法,将ModelAndView中的数据渲染到具体的响应内容中。
  • DispatcherServlet会将渲染后的响应内容返回给客户端,完成整个请求处理过程。

在执行过程中,Spring MVC还提供了很多其他的组件,例如:数据绑定、类型转换、数据校验和异常处理等,还有各种配置方式包括XML配置、Java配置和注解配置等可以根据具体的需求进行灵活的配置

在这里插入图片描述

二、什么是MVC

MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分。

  • M: Model,模型层,指工程中的JavaBean,作用是处理数据。JavaBean分为两类:
    • 一类为实体类Bean:专门存储业务数据的,如Student、User等。
    • 一类称为业务处理Bean:指Service或Dao对象,专门用于处理业务逻辑和数据访问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/41967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NAS 必备导航页 Homepage 外观简约但功能丰富

本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 NAS 上的应用部署多了之后,不同的服务对应的端口很难记住,在内网中使用,一般也不会绑定域名。 此时就需要有一个导航页将 NAS 上部署的所有服务都罗列出来,方便我们直接点击访问对应的服务。 今天给大家介绍的…

【HICE】转发服务器实验

1.在本地主机上操作 2.在客户端操作设置主机的IP地址为dns 3.测试,客户机是否能ping通

anaconda中下载压缩包并用conda安装包

有时直接conda安装包时会出错;报错PackagesNotFoundError: The following packages are not available from current channels 比如 conda install -y bioconda::ucsc-gtftogenepred #直接安装报错 #直接下载压缩包安装https://blog.csdn.net/weixin_45552562/ar…

C++初学者指南-4.诊断---基础:警告和测试

C初学者指南-4.诊断—基础知识:警告和测试 文章目录 C初学者指南-4.诊断---基础知识:警告和测试1. 术语和技术记住:使用专用类型! 2.编译器警告Gcc/CLang 编译器选项MS Visual Studio 编译器选项 3.断言运行时断言静态断言&#x…

macOS查看系统日志的方法

1、command空格键打开搜索框,输入‘控制台’并打开 2、选择日志报告,根据日期打开自己需要的文件就可以

c++习题06-ljc的储蓄计划

目录 一,问题 二,思路 1,思路1 2,思路2 三,代码 1,思路1代码 2,思路2代码 四,用例输入输出 一,问题 二,思路 1,思路1 定义变量&#x…

统计是一门艺术(非参数假设检验)

1.定义 当总体分布未知,那么就需要一种与分布具体数学形式无关的统计推断方法,称为非参数方法 只能利用样本中的一般信息包括位置和次序关系等 稳健性强 2.符号检验 考虑问题: 小样本情况: 以概率为1/2的二项分布是对称的 两…

剖析DeFi交易产品之UniswapV3:交易路由合约

本文首发于公众号:Keegan小钢 SwapRouter 合约封装了面向用户的交易接口,但不再像 UniswapV2Router 一样根据不同交易场景拆分为了那么多函数,UniswapV3 的 SwapRouter 核心就只有 4 个交易函数: exactInputSingle:指…

Java技术栈总结:kafka篇

一、# 基础知识 1、安装 部署一台ZooKeeper服务器;安装jdk;下载kafka安装包;上传安装包到kafka服务器上:/usr/local/kafka;解压缩压缩包;进入到config目录,修改server.properties配置信息: #…

Buuctf之SimpleRev做法

首先,查个壳,64bit,那就丢进ida64中进行反编译进来之后,我们进入main函数,发现里面没什么东西,那就shiftf12搜索字符串,找到关键字符串,双击进入然后再选中该字符串,ctrl…

Python爬取股票信息-并进行数据可视化分析,绘股票成交量柱状图

为了使用Python爬取股票信息并进行数据可视化分析,我们可以使用几个流行的库:requests 用于网络请求,pandas 用于数据处理,以及 matplotlib 或 seaborn 用于数据可视化。 步骤 1: 安装必要的库 首先,确保安装了以下P…

【C语言】指针(1):入门理解篇

目录 一、内存和地址 1.1内存 1.2 深入理解计算机编址 二、指针变量和地址 2.1 取地址操作符(&) 2.2 指针变量和解应用操作符 2.2.1 指针变量 2.2.2 解引用操作符 2.3指针变量的大小 三、指针变量类型的意义 3.1 指针的解引用 3.1指针-整数…

Micron近期发布了32Gb DDR5 DRAM

Micron Technology近期发布了一项内存技术的重大突破——一款32Gb DDR5 DRAM芯片,这项创新不仅将存储容量翻倍,还显著提升了针对人工智能(AI)、机器学习(ML)、高性能计算(HPC)以及数…

2024年最新运维面试题(附答案)

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 公众号:网络豆云计算学堂 座右铭:低头赶路,敬事如仪 个人主页: 网络豆的主页​​​​​ 一.选择题 1.HTTP协议默认使用哪个端口…

科普文:构建可扩展的微服务架构设计方案

前言 微服务架构是一种新兴的软件架构风格,它将单个应用程序拆分成多个小的服务,每个服务都运行在自己的进程中,这些服务通过网络进行通信。这种架构的优势在于它可以提高应用程序的可扩展性、可维护性和可靠性。 在传统的应用程序架构中&…

高效管理个人日程,智慧校园行政办公全指南

在智慧校园的行政办公体系里,个人日程管理功能担当起协调与优化每位教职员工日常安排的角色,它像一位贴心的时间助理,确保工作与私人生活的和谐并进。这一功能设计得既直观又灵活,让使用者能以自己偏好的视角审视时间规划&#xf…

创新配置,秒级采集,火爆短视频评论抓取

快速采集评论数据的好处 快速采集评论数据是在当今数字信息时代的市场趋势分析和用户反馈分析中至关重要的环节。通过准确获取并分析大量用户评论,您将能够更好地了解消费者的需求、情感和偏好。集蜂云采集平台提供了一种简单配置的方法,使您能够快速采…

Deep Filtered Back Projection for CT Reconstruction

CT重建中的深度滤波反投影 论文链接:https://ieeexplore.ieee.org/document/10411896 项目链接: ABSTRACT 滤波反投影(FBP)是一种经典的计算机断层扫描(CT)重建解析算法,具有很高的计算效率。然而,用FBP重建的图像往往存在过多…

NATAPP内网穿透使用

1. natapp能干嘛 可以将本地的内网ip映射到外网上,远程访问该连接,实现外网展示网站。平时做的应用开发都只能在局域网本地访问,通过内网穿透,可以通过外网进行访问。 2. 注册用户 网址:https://natapp.cn/自行完成…

什么是 Elasticsearch 数据预热?

引言:在现代的信息检索和数据分析领域,Elasticsearch 已经成为一个广泛应用的分布式搜索和分析引擎。作为开源项目的一部分,Elasticsearch 提供了强大的实时搜索和分析能力,使得处理大规模数据变得更加高效和可靠。然而&#xff0…