Spring MVC学习之——了解MVC设计模式

MVC设计模式

MVC介绍

MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。

  • Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
    • 数据模型:POJO
    • 业务模型:Service,Mapper
  • View(视图) - 视图代表模型包含的数据的可视化。(一般是html或jsp,与用户进行交互。
  • Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。(控制层,指工程中的servlet,作用是接收请求和响应浏览器)

mvc工作流程

用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller调用相应的Model层处理 请求,处理完毕将结果返回到Controller,Controller再根据请求处理的结果找到相应的View视图,渲染数据 后最终响应给浏览器。

MVC与三层架构的关系:

​ 三层架构的分层模式是典型的上下关系,上层依赖于下层。但MVC作为表现模式是不存在上下关系的,而是相互协作关系。

​ 三层是基于业务逻辑来分的,而mvc是基于页面来分的。

相关推荐
upper202016 小时前
【炒股学习】集合竞价
学习·区块链
以孝治家行动16 小时前
线上共读传孝道 身体力行润家风——以孝治家家教中心开展线上学习
学习
Spring AI学习17 小时前
Spring AI深度解析(10/50):多模态应用开发实战
java·spring·ai
小鸡脚来咯17 小时前
Redis与MySQL双写一致性(实战解决方案)
spring·oracle·mybatis
小智RE0-走在路上17 小时前
Python学习笔记(8) --函数的多返回值,不同传参,匿名函数
笔记·python·学习
我是小妖怪,潇洒又自在18 小时前
springcloud alibaba(九)Nacos Config服务配置
后端·spring·spring cloud
charlie11451419118 小时前
现代C++嵌入式教程:C++98基础特性:从C到C++的演进(1)
c语言·开发语言·c++·笔记·学习·教程
喜欢吃豆19 小时前
我把 LLM 技术栈做成了一张“可复用的认知地图”:notes-on-llms 开源仓库介绍
学习·语言模型·架构·开源·大模型·多模态
qq_124987075319 小时前
重庆三峡学院图书资料管理系统设计与实现(源码+论文+部署+安装)
java·spring boot·后端·mysql·spring·毕业设计
小鸡脚来咯19 小时前
Redis三大问题:穿透、击穿、雪崩(实战解析)
java·spring·mybatis