【JavaEE】_Spring Web MVC简介

目录

1. Spring Web MVC简介

2. MVC简介

3. Spring MVC


1. Spring Web MVC简介

官网对于Spring Web MVC的介绍如下:

链接如下:

https://docs.spring.io/spring-framework/reference/web/webmvc.html#icon-default.png?t=N7T8https://docs.spring.io/spring-framework/reference/web/webmvc.html#即Spring Web MVC是基于Servlet API构建的原始的Web框架,它从一开始就包含在Spring框架中,通常被称为Spring MVC;

Spring Boot 只是一种创建Spring MVC项目的一种方式而已,帮助我们快速搭建项目,Spring Web MVC是其中的一个模块;

总而言之,Spring Web MVC就是Spring MVC, 是一个Web框架

2. MVC简介

MVC是Model View Controller的缩写,是软件工程中的一种软件架构设计模式,它把软件系统分为模型,视图和控制器三部分

逻辑图为:

(1)View(视图):指在应用程序中专门用来与浏览器进行交互,展示数据的资源;

(2)Model(模型):是应用程序的主体部分,用来处理程序中数据逻辑的部分;

(3)Controller(控制器):连接视图和模型,用来决定对于视图发来的请求,需要哪一个模型来处理,并且处理完后需要跳回哪一个视图。

3. Spring MVC

 1. 本专栏的Spring Boot项目已经是一个Spring MVC项目了,原文链接如下:

【JavaEE】_第一个SpringBoot项目-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63299495/article/details/136330768

 在创建项目中选择的Spring Web就是框架其实就是Spring MVC框架:

该项目中,pom.xml的如下依赖就是 Spring MVC的依赖:

2. MVC是一种架构设计模式,也是一种思想,而Spring MVC是对MVC思想的具体实现,此外,Spring MVC还是一个Web框架。

即:Spring MVC是一个实现了MVC模式的Web框架

3. 逻辑图:

对比前文给出的链接中的项目代码:

可见请求直接传给了Controller;

4. 目前阶段,MVC的概念又发生了一些变化,后端开发人员不涉及前端页面的开发,对于后端来说,没有View视图层;

现将View视图层理解为:以前的MVC架构中,返回的是视图,现在返回的是视图所需的数据

比如下图代码:

字符串"Hi, SpringBoot"即后端返回给前端的数据,也可以理解为View视图层;

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

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

相关文章

将SU模型导入ARCGIS,并获取高度信息,多面体转SHP文件(ARCMAP)

问题:将Sketchup中导出的su模型,导入arcgis并得到面shp文件,进而获取各建筑的高度、面积等信息。 思路: (1)导入arcgis得到多面体 (2)转为面shp文件 (3)计算高度/面积等 1、【3D Analyst工具】【转换】【由文件转出】【导入3D文件】(在此步骤之间,建议先建立一个…

栈和队列OJ题

文章目录 一、双队列实现栈二、双栈实现队列 一、双队列实现栈 题目链接: https://leetcode.cn/problems/implement-stack-using-queues/description/ 题目分析: 栈的结构是后进先出,而队列的结构是先进先出,我们利用这个性质&a…

AI Word Helper (Chorme Extentions) AI单词助手(谷歌浏览器插件)

AI Word Helper (Chorme Extentions) AI单词助手(谷歌浏览器插件) 英文网站,划词查单词,还是看不懂?因为单词意思那么多,词性搞不清,上下文搞不清,出来的意思就没法用,G…

一个基于轮询的广告系统

无论PC 客户端还是手机客户端,可能会遇到需要发布一些广告,这些广告可能是自己开发的,可能是三方的,而且希望是比较通用,能随时发布,随时就能看到效果。 本文提供了一种基于轮询的广告系统,主要…

【服务器数据恢复】昆腾存储中raid5磁盘阵列数据恢复案例

服务器数据恢复环境&故障: 10个磁盘柜,每个磁盘柜配24块硬盘。9个磁盘柜用于存储数据,1个磁盘柜用于存储元数据。 元数据存储中24块硬盘,组建了9组RAID1阵列1组RAID10阵列,4个全局热备硬盘。 数据存储中&#xff0…

Java基于springboot的个人理财系统

基于springboot的个人理财系统 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了个人理财系统的开发全过程。通过分析个人理财系统管理的不足,创建了一个计算机管理个人理财系统的方案。文章介绍了个…

多人音视频实时通讯架构

直播中的协议与格式 在直播系统中,协议和格式的选择对于传输效率、画面质量和用户体验都至关重要。以下是直播中常见的协议与格式: 协议 RTSP (Real Time Streaming Protocol) RTSP是一个网络流媒体协议,常用于视频监控和IPTV等场景。它本身…

考研机试C++题目精选

更多内容会在godownio.github.io更新 算法练习(C代码) 考研上机或C语言代码笔试准备,暨大机试原题letcode牛客中南大等高校机试 快速幂算法 题目:输入一个整数 n ,求 n^n 的个位数是多少。 快速幂算法:…

面经分享|面了好未来NLP算法岗(实习),经历坎坷但值了!

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂同学、参加社招和校招面试的同学,针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何备战、面试常考点分享等热门话题进行了深入的讨论。 今天我分…

【复试2.293.1】c语言——基础杂项

1.define定义常量类似全局变量,引用是直接拼到代码中去。 2.关于e 3.参数传递 形参直接接收的是数组的起始地址 4.数组越界乱码问题 5.scanf读字符串的时候会自动在末尾放0(结束符 6.scanf是读取输入缓冲区的数据,是一种拿走操作。读取若有…

文本多分类

还在用BERT做文本分类?分享一套基于预训练模型ERNIR3.0的文本多分类全流程实例【文本分类】_ernir 文本分类-CSDN博客 /usr/bin/python3 -m pip install --upgrade pip python3-c"import platform;print(platform.architecture()[0]);print(platform.machine…

C语言实现航班管理

航班管理系统&#xff0c;用C语言实现&#xff0c;可以作为课程设计&#xff0c;代码如下&#xff1a; #include<iostream> #include<fstream> #include<vector> #include<string> #include<stdlib.h> using namespace std; //信息基类 clas…

Linux第67步_linux字符设备驱动_注册和注销

1、字符设备注册与注销的函数原型” /*字符设备注册的函数原型*/ static inline int register_chrdev(unsigned int major,\ const char *name, \ const struct file_operations *fops) /* major:主设备号&#xff0c;Limnux下每个设备都有一个设备号&#xff0c;设备号分…

【六袆 - React】Next.js:React 开发框架;Next.js开发框架的特点

Next.js&#xff1a;React 开发框架 Next.js的特点 1.直观的、基于页面的路由系统&#xff08;并支持动态路由&#xff09; Next.js 提供了基于文件系统的路由&#xff0c;意味着你可以通过创建页面文件来定义路由。 伪代码示例&#xff1a; // pages/index.js export defa…

【GStreamer】basic-tutorial-2:创建、链接GstElement,修改其属性、状态

【目录】郭老二博文之:图像视频汇总 1、示例注释 #include <gst/gst.h>int main (int argc, char *argv[]) {GstElement *pipeline,

MYSQL--JDBC优化

一.JDBC优化: 优化前提: 有时候我们并不清楚某些表当中一共有多少列,以及这些列的数据类型,这个时候我们就需要提前通过一些方法提前了解到这些数据,从而更好的进行输出 具体语句: package cn.jdbc;import java.sql.*;public class JDBCDEmo1 {public static void main(String…

C语言中的动态内存管理技巧:实现灵活的内存分配和释放

概念 在C语言中&#xff0c;动态内存管理是实现灵活内存分配和释放的关键。合理地管理动态内存可以提高程序的效率和扩展性。本文将介绍C语言中常用的动态内存管理方法和技巧&#xff0c;帮助读者优化内存分配和释放的过程。 常用的动态内存管理方法 内存分配&#xff1a;C语…

【数学建模获奖经验】2023第八届数维杯数学建模:华中科技大学本科组创新奖获奖分享

2024年第九届数维杯大学生数学建模挑战赛将于&#xff1a;2024年5月10日08:00-5月13日09:00举行&#xff0c;近期同学们都开始陆续进入了备赛阶段&#xff0c;今天我们就一起来看看上一届优秀的创新奖选手都有什么获奖感言吧~希望能帮到更多热爱数学建模的同学。据说点赞的大佬…

elment-ui table表格排序后 清除排序箭头/恢复默认排序 的高亮样式

问题描述&#xff1a; 1.默认排序是按照名称升序排列&#xff08;图一&#xff09; 2.在选择了筛选项以及其他排序方式之后&#xff0c;箭头高亮是这样的&#xff08;图二&#xff09; 3.当我点击清空按钮后&#xff0c;类型清空了&#xff0c;并且传给后端的排序方式是名称/升…

探索色彩搭配的奥秘:如何选择适合产品的理想配色方案

title: 探索色彩搭配的奥秘&#xff1a;如何选择适合产品的理想配色方案 date: 2024/3/1 20:47:45 updated: 2024/3/1 20:47:45 tags: 色彩搭配品牌形象用户体验情感连接信息传达视觉层次色调选择 引言 友善的色彩搭配和色调选择是现代产品设计中不可忽视的关键因素。通过正确…