3.1 Spring MVC概述

1. MVC概念

MVC是一种编程思想,它将应用分为模型(Model)、视图(View)、控制器(Controller)三个层次,这三部分以最低的耦合进行协同工作,从而提高应用的可扩展性及可维护性。

  • 模型(Model)

模型层主要包括实体类Bean(存储业务数据的类,如Student)和处理业务逻辑的Bean(如Service、Dao)。

  • 视图(View)

用户与应用程序交互的、展示数据的界面,例如工程中的html页面。

  • 控制器(Controller)

工程中的servlet,接收视图层发出的请求,将请求转给模型,响应用户请求渲染视图。

2. Spring MVC概念

Spring MVC全称Spring Web MVC,通常称为Spring MVC,是基于MVC思想的应用框架,它是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架。

3. Spring MVC核心组件

Spring MVC框架主要有前端控制器、处理器映射器、处理器适配器、处理器、视图解析器等组成。

  • 前端控制器DispatcherServlet

用于接收用户请求、转发用户请求、响应结果, DispatcherServlet是整个流程控制的中心,由它调用其他组件处理用户请求,分发到具体的对应Controller,从而获取到需要的业务数据Model,Model再通过DispatcherServlet传递给View完成页面呈现。

  • 处理器映射器HandlerMapping

映射URL到处理器,根据请求的URL找到对应的Handler。

  • 处理器适配器HandlerAdapter

将各种Controller适配成DispatcherServlet可以执行的Handler。

  • 处理器Handler

开发者编写的业务逻辑,Controller-Service业务。

  • 视图解析器ViewResolver

进行视图的解析,负责将处理结果生成View视图。

4. Spring MVC工作原理

  • 客户端发送请求到前端控制器DispatcherServlet;

  • 由DispatcherServlet控制器寻找一个或多个HandlerMapping,找到处理请求的Controller;

  • DispatcherServlet将请求提交到Controller;

  • Controller调用业务逻辑处理后,返回ModelAndView;

  • DispatcherServlet请求视图解析器ViewResoler,找到ModelAndView指定的视图;

  • 视图负责将结果显示到客户端。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Vue生命周期函数(详解)

目录 生命周期图 生命周期函数 beforeCreate和created的区别 beforeCreate创建前应用场景 created创建后应用场景 beforeMount和mounted的区别 beforeMount挂载前应用场景 mounted挂载后应用场景 beforeUpdate和updated的区别 beforeUpdate更新前应用场景 updated更新后应用…

数据通信——VRRP

引言 之前把实验做了,结果发现我好像没有写过VRRP的文章,连笔记都没记过。可能是因为对STP的记忆,导致现在都没忘太多。 一,什么是VRRP VRRP全名是虚拟路由冗余协议,虚拟路由,看名字就知道这是运行在三层接…

【前端 | CSS】滚动到底部加载,滚动监听、懒加载

背景 在日常开发过程中,我们会遇到图片懒加载的功能,基本原理是,滚动条滚动到底部后再次获取数据进行渲染。 那怎么判断滚动条是否滚动到底部呢?滚动条滚动到底部触发时间的时机和方法又该怎样定义? 针对以上问题我…

【瑞吉外卖】Linux学习

Linux常用命令 Linux命令初体验 Linux的命令都是由一个或几个单词的缩写构成的 命令对应英文作用lslist查看当前目录下的内容pwdprint work directory查看当前所在目录cd [目录名]change directory切换目录touch [文件名]touch如果文件不存在,新建文件mkdir [目录…

HCIA---动态路由---RIP协议

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 前言 一.动态路由 二.动态路由协议分类 IGP:内部网关协议 EGP:外部网关协议 三.RIP协议概述 RIP版本分类: RIP三要素: 思维…

JSP的文件扩展名必须是.jsp吗

并不是 打开Tomcat目录下conf目录下的web.xml 也就是说,映射路径为xxx.jsp或者xxx.jspx就会访问jsp 可以修改

C语言每日一题:16:数对。

思路一&#xff1a;基本思路 1.x,y均不大于n&#xff0c;就是小于等于n。 2.x%y大于等于k。 3.一般的思路使用双for循环去遍历每一对数。 代码实现&#xff1a; #include <stdio.h> int main() {int n 0;int k 0;//输入scanf("%d%d", &n, &k);int x…

将exe应用打包成安装包

文章目录 前言一、打包exe文件1.安装Inno setup2.打包成安装包 二、测试安装包 前言 使用Inno setup应用来打包exe文件成安装包 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、打包exe文件 1.安装Inno setup 官网网址&#xff1a;https://jrsoft…

EasyExcel下载xls、xlsx 出现文件格式与扩展名不匹配

是ContentType类型错误&#xff0c;如果需要导出xlsx就使用 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); 如果使用xls就设置为&#xff1a;response.setContentType("application/vnd.ms-excel;charsetUT…

导出多个Excel文件并打包为压缩包下载

问题简述 之前系统里做的导出都是千篇一律的所有文件导在一个excel里&#xff0c;有现成的工具&#xff0c;现成的逻辑。 突然有那么一天&#xff0c;一切都不再现成了&#xff0c;我得把数据们导出为压缩包&#xff0c;一人一个Excel谁也不干涉谁。研究和参考了一下网上大神…

office安装包百度云

包含了office2010&#xff0c;office2013&#xff0c;office2016&#xff0c;office2019&#xff0c;office2021以及 新的office安装包 百度云网盘分享office 安装教程&#xff1a; 1安装前&#xff0c; 解压完成后&#xff0c;找到Setup.exe并双击 2等待安装&#xff0c;过程…

excel哪个版本好用,应该怎么选择

excelexcel哪个版本最好用&#xff1f;Excel软件是上班族必备的电脑办公神器&#xff0c;它带来了专业的数据整理和可视化随着excel的版本更新&#xff0c;可以使用的excel版本越来越多&#xff0c;让你的数据信息更加简洁直观那么&#xff0c;哪个版本的excel软件更有用呢 一…

R之Excel文件读取与程序包的安装调用

目录 方法一 方法二 1.用命令安装 2.从下拉菜单安装 三、加载所需安装包 方法一 方法二 四、使用新程序包读取数据 方法一 另存为 .csv 文件 这是wps的另存为 然后选择位置&#xff0c;重命名或更改格式为 .csv 这是excel 的另存为 文件 —— 另存为 —— 选择位置 …

spark 图计算 助力解决 dataframe中的链式依赖

链式依赖说明 name newName a b c d b c 我们需要的结果 即我们可以支持获取到链式转换的 起点 重点 以及链式的中间转换过程顺序数组. 特别说明: 出版只支持 单向 无分叉的图,其他复杂场景暂时未测试. 场景举例: 比如某件商品价格变化,我们需要知…

基础计算机算法函数,算法基础入门概述

著名计算机科学家沃思(NiklausWirth)提出一个公式&#xff1a;算法 数据结构 程序&#xff0c;其中算法是程序的灵魂。 01算法的定义及特性 在数学和计算机科学/算学之中&#xff0c;算法/演算法/算则法(algorithm)为一个计算的具体步骤&#xff0c;常用于计算、数据处理和自…

MapReduce 论文阅读笔记 MapReduce 简介

论文&#xff1a; MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat Google https://pdos.csail.mit.edu/6.824/papers/mapreduce.pdf MapReduce 是一种分布式系统中处理大数据方法。他提出是在 2004&#xff0c; jeff dean 和 Sanj…

2017 CS231n学习笔记(三)----损失函数和最优化(Loss Functions and Optimization )

video&#xff1a;https://study.163.com/course/courseMain.htm?courseId1004697005 slides&#xff1a;http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture3.pdf course notes&#xff1a;http://cs231n.github.io/ 文章所有内容来自Stanford university 课程 CS2…

时间和空间复杂度分析

前言 对于数据结构相关的博客文章&#xff0c;我是根据大学本科阶段《数据结构和算法》课程的内容和王争老师在即刻时间上的《数据结构和算法之美》系列课程&#xff08;墙裂推荐&#xff09;进行了一些排版参考和笔记性梳理。这些文章作为笔记总结&#xff0c;一方便是为了夯…

INT303 Big Data 个人笔记

又来到了经典半个月写一个学期内容的环节 目前更新至Lec{14}/Lec14 依旧是不涉及代码&#xff0c;代码请看学校的jupyter notebook~ Lec1 Introduction 介绍课程 TopicRangeTopic 1: Introduction to Big Data AnalyticsLec1~Lec3Topic2: Big data collection and visualiza…