【Java Web】MVC架构模式

目录

一、MVC是什么?

二、MVC组成结构

三、MVC模式下项目常见包


一、MVC是什么?

MVC(ModelViewController)是软件工程中的一种软件架构模式,它把软件系统分为模型、视图和控制器三个基本部分。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。简单来说MVC就是一种项目代码存放位置的规范。

二、MVC组成结构

  • M:Model模型层,具体功能如下

1.存放数据库对象的实体类以及一些用于存储非数据库表完整相关的VO对象

2.存放一些对数据进行逻辑运算操作的一些业务处理代码

  • V:View视图层,具体功能如下

1.存放一些视图文件相关的代码html、css 、js等

2.在前后端分离的项目中,后端已经没有视图文件,该层次已经行化成独立的前端项目

  • C:Controller控制层,具体功能如下

1.接收客户端请求,获得请求数据

2.将准备好的数据响应给客户端

三、MVC模式下项目常见包

  • M:

1.实体类包(pojo/entity/bean)------专门存放和数据库对应的实体类和一些vo对象

2.数据库访问包(dao/mapper)------专门存放对数据库不同表格创建、读取、更新、删除(CURD)方法封装的一些类

3.服务包(service)-------专门存放对数据进行业务逻辑预运算的一些类

  • C:

1.控制层包(controller)

  • V:

1.web目录下的视图资源htmlcssjsimg等

2.前端工程化后,V在后端项目中已经不存在了。

@声明:“山月润无声”博主知识水平有限,以上文章如有不妥之处,欢迎广大IT爱好者指正,小弟定当虚心受教!

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

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

相关文章

写一个坏越个人天地(五)

昨天整了半天天气api还是有点小问题。一天50次真的不够我test的。一气之下还是全删了改用高德api。把接口写在了后端,这样我启动界面后就可以直接通过接口在后端嘎嘎处理逻辑了。再整理返回就好了 不过高德api好像获取地址的概率好低,于是我还是整了个获…

通俗范畴论6 基于关系的范畴

前一部分介绍了Set𝑆𝑒𝑡范畴的含义: Set𝑆𝑒𝑡范畴 所有集合构成的范畴,该范畴的对象是集合,态射是集合间的函数,态射的复合是函数的复合,又名集合函数范畴。 在 Set𝑆𝑒𝑡 范畴中,对象是集合,态射是集合间的函数。也许你觉得这是十分自然的事情,…

服务治理怎么做:降级、熔断、全链路压测

服务降级的常见场景 系统负载过高:在高峰期或者流量激增的情况下,为了防止系统崩溃,可以暂时关闭或降低某些非关键服务的质量。 依赖服务故障:当某个依赖服务不可用时,通过服务降级可以提供替代方案或者简化的功能&am…

Spring框架FactoryBean接口的作用和应用

一、FactoryBean源码解读 FactoryBean<T> 是 Spring 框架 beans.factory包中的一个接口&#xff0c;从字面意思可以理解为工厂bean&#xff0c;它是干什么的&#xff0c;类名上的泛型又是指什么&#xff0c;有什么作用&#xff1f; 注释看不懂没关系&#xff0c;先看一…

阿里巴巴向国际用户开放人工智能模型平台ModelScope(魔搭社区)

阿里巴巴对 Hugging Face 和 Amazon Bedrock 的回应包含 5,000 多个中国专业模型&#xff0c;以及 1,500 个工具包和数据集 阿里云已将其人工智能模型存储库ModelScope&#xff08;魔搭社区&#xff09;的访问权限扩展至全球英语用户&#xff0c;意在吸引更多国际企业和开发者…

1.整体认知spring 体系结构

Spring框架是一个开源的Java平台&#xff0c;它以控制反转&#xff08;IoC&#xff09;和面向切面编程&#xff08;AOP&#xff09;作为核心概念&#xff0c;提供了一个企业级的服务和支持。Spring框架的体系结构主要分为以下几个模块&#xff1a; 核心容器&#xff1a; 这是S…

PM10 和 PM2.5 有什么区别

颗粒物 (PM) 是一个术语&#xff0c;用于描述空气中的固体颗粒和液滴的混合物。这些颗粒的大小、成分和来源各不相同&#xff0c;通常根据其空气动力学直径进行分类。最常监测的成分是 PM10 和 PM2.5&#xff0c;每种成分都有不同的特征和健康影响。 定义和大小差异 颗粒物10…

自动建立用户练习

一丶编辑文本存放用户名 vim userlist 二丶编辑文本存放需要创建用户的密码 vim passlist 三丶编辑脚本 vim create_user.sh #!bin/bash [ "$#" -lt "2" ] && { #echo error please input userlist anpassli…

高德.js2.0绘制多条折线(轨迹)及清除所有折线

2.0版本的地图,需要绘制多条折线的时候,就需要循环生成,因此也需要循环清除 for (let j 0; j < combinedArray.length; j) {const item combinedArray[j];this.polyline new AMap.Polyline({map: this.map,path: item,showDir: true,strokeColor: "#28F", //线…

【深度学习】Python之人工智能应用篇——音频生成技术

一、音频生成概述 音频生成是指根据所输入的数据合成对应的声音波形的过程&#xff0c;主要包括根据文本合成语音&#xff08;text-to-speech&#xff09;、进行不同语言之间的语音转换、根据视觉内容&#xff08;图像或视频&#xff09;进行语音描述&#xff0c;以及生成旋律…

简过网:上万元的学费,考公到底要不要报个培训班?

考公报不报班一直是很多朋友比较纠结一件事&#xff0c;报班了学费太贵&#xff0c;不报班又怕考不上&#xff0c;如果你也有这种困扰&#xff0c;那么&#xff0c;不妨看看这篇文章&#xff01; 首先&#xff0c;对于报班VS自学这个问题&#xff0c;小编的建议是&#xff1a;…

HTML【介绍】

HTML【介绍】 一、Web认知 1.网页组成 文字、图片、音频、视频、超链接 2.五大浏览器 IE浏览器、火狐浏览器&#xff08;Firefox&#xff09;、谷歌浏览器&#xff08;Chrome&#xff09;、Safari浏览器、欧朋浏览器&#xff08;Opera&#xff09; 3.Web标准的构成 HTML…

【JavaScript】数据类型和运算符

目录 一、数据类型 1.1 JS常用数据类型 1.2 JS中使用var声明变量特点 二、运算符 2.1 算术&#xff1a; - * / % 2.2 复合算术&#xff1a; -- - * / % 2.3 关系: > < > < ! 2.4 逻辑&#xff1a; 短路||或 短路与…

C# 一元多次方程求解

private double FindRoot(double a, double b, double c, double d, double target) { double x0 1.0; // 初始猜测值 double epsilon 0.0001; // 迭代精度 double f(double t) > a * t * t * t b * t * t c * t d - target; // 定义方程 double df(double t) …

GPU_Gems-物理模型的水模拟

创建一个多网格的平面 void GraphicsWindowBase::RenderPlane() {constexpr int width 150;constexpr int depth 150;constexpr int vertNum width * depth;float length 60.f;if (quadVAO 0){float planeVert[vertNum * 5];float offsetX length / (width - 1.f);float…

朴素贝叶斯机器学习算法:从基础到高级

文章目录 一、说明二、从一个简单例子入手2.1 简单示例2.2 朴素贝叶斯算法的直觉解释 三、在训练阶段&#xff0c;朴素贝叶斯内部会发生什么&#xff1f;3.1 朴素贝叶斯如何处理数值数据&#xff1f;3.2 如果数据分布不是高斯分布怎么办&#xff1f;3.3 朴素贝叶斯的数值稳定性…

Flutter Navigator.popUntil 参数传递

Flutter 使用页面传参 以下是 在flutter 中页面传参的常用形式&#xff0c;都可以有有直接的传值参数提供。 Navigator.push #跳转到指定页面 压栈路由表Navigator.pushReplacement #关闭当前页面 跳转到指定页面压栈路由表Navigator.pus…

留学生高效完成Group work的四个阶段

在众多作业中&#xff0c;有一个传说中可以逼疯各位留学生的作业&#xff0c;那肯定是非Group Work莫属了&#xff0c;简单来说&#xff0c;就是老师给一个课题&#xff0c;通过小组课上讨论以及与老师沟通方案&#xff0c;准备PPT以及Presntation&#xff0c;最后打分计入总成…

JavaScript的学习之自增自减

目录 一、自增 第一种&#xff1a;a 第二种&#xff1a;a 二、自减 一、自增 定义&#xff1a;可以是变量在自身的基础上增加1 自增分为两种&#xff1a;后&#xff08;a&#xff09;和前&#xff08;a&#xff09; 无论是a和a都会立即使原变量的值增1&#xff0c;不同的使…

【windows】电脑如何关闭Bitlocker硬盘锁

如果你的硬盘显示这样的一把锁&#xff0c;说明开启了Bitlocker硬盘加密。 Bitlocker硬盘锁&#xff0c;可以保护硬盘被盗&#xff0c;加密防止打开查看数据。 方法一&#xff1a;进入“控制面板->BitLocker 驱动器加密”进行设置。或者“控制面板\系统和安全->BitLocke…