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是基于页面来分的。

相关推荐
lazy H24 分钟前
从入门到日常开发,一篇文章掌握 Git 核心操作
git·后端·学习·github
a11177612 小时前
2FA 验证码生成器(github登录验证 app)
笔记·学习
我的xiaodoujiao12 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
你想知道什么?14 小时前
线性回归-学习笔记
笔记·学习·线性回归
鱼毓屿御14 小时前
从「只会聊」到「边想边做」的跃迁
前端·学习·react.js
AOwhisky15 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
minglie117 小时前
zynq中linux系统的自动登录和免密登录
学习
我是唐青枫17 小时前
Java Spring Security 实战详解:从登录认证到 JWT 权限控制
java·spring
茯苓gao17 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习
空中湖18 小时前
Spring AI 多模态实战:让 AI 看图、听声音、生成图片
人工智能·spring·语音识别