10.0 SpringMVC源码分析之MVC 模型由来

news2024/10/6 18:22:40

0.MVC 模型由来

0.1 Model1 模型

Model1 模型是很早以前项目开发的一种常见模型,项目主要由 jsp 和 JavaBean 两部分组成。

它的优点是:结构简单,开发小型项目时效率高。

它的缺点也同样明显:
第一:JSP的职责兼顾于展示数据和处理数据(也就是干了控制器和视图的事)
第二:所有逻辑代码都是写在 JSP中的,导致代码重用性很低。
第三:由于展示数据的代码和部分的业务代码交织在一起,维护非常不便。
所以,结论是此种设计模型已经被淘汰没人使用了。

在这里插入图片描述

总结:在Model1模式下,整个Web应用几乎全部有JSP页面组成,JSP页面接受处理客户端请求,对请求处理后直接做出响应。用少量的JavaBean来处理数据库连接、数据库访问等操作。

0.2 Model2 模型

Model2 模型是在Model 1的基础上进行改良,它是MVC模型的一个经典应用。它把处理请求和展示数据进行分离,让每个部分各司其职。此时JSP已经救是纯粹的展示数据了,而处理请求的事情交由控制器来完成,使每个组件充分独立,提高了代码可重用性和易维护性。
在这里插入图片描述
Model2是基于MVC架构设计模式。
在Model2架构中,Servlet作为前端控制器,负责接收客户端发送的请求
在Servlet中只包含控制器逻辑和简单的前端处理;
后端JavaBean来完成实际的逻辑处理;
最后转发到相应的JSP页面处理显示逻辑。

总结:Model2 具有组件化的特点,更适用于大规模应用的开发。

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

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

相关文章

m基于matlab的BTS天线设计,带GUI界面

目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 内容: N个天线按等距分布在z轴上,第N个和第N-1的之间的天线的距离是一定的为d。 在上述有红色的一块,是计算Taylor 公式的,有一个疑问就…

【计算机毕业设计】23.网上商城购物系统+vue

一、系统截图(需要演示视频可以私聊) 摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,网上商城购物系统当然也不能排除在外。网上商城购物系统是…

Java不得不知道的八股文之哈希表

哈希表简介 在哈希表中进行添加,删除,查找等操作,性能十分之高,不考虑哈希冲突的情况下(后面会探讨下哈希冲突的情况),仅需一次定位即可完成,时间复杂度为O(1),接下来我…

如何回复SCI审稿人评审意见(response letter)

如何高效地回复审稿意见?(上) 如何高效地回复审稿意见?(中) 如何高效地回复审稿意见?(下) 如何高效回复审稿人意见(附实例) 如何高效的回复审稿人…

机器学习笔记之核方法(一)核方法介绍

机器学习笔记之核方法——核方法介绍引言回顾:支持向量机的对偶问题核方法思想介绍线性可分与线性不可分非线性带来高维转换对偶表示带来内积核函数核函数满足的条件(2022/11/23)引言 本节将介绍核方法以及核函数。 回顾:支持向量机的对偶问题 在支持…

Ubuntu sudo apt update 过程中遇到的报错解决

文章目录参考资料1. 前言2. 换源方式1. 方式1: 更换/etc/apt/sources.list文件里的源2. 方式2:在设置中software&updates(软件和更新)里进行换源3. 问题解决--移除失效的ppa参考资料 E: 仓库 “https://mirrors.aliyun.com/docker-ce/linux/ubuntu …

目标检测算法——YOLOv5/YOLOv7改进结合涨点Trick之ASFF(自适应空间特征融合)

>>>深度学习Tricks,第一时间送达<<< 🚀🚀🚀NEW!!!魔改YOLOv5/YOLOv7目标检测算法来啦 ~ 💡💡魔法搭配计算机视觉领域各类创新新颖且行之有效的网络结构,平均精度均值mAP涨点明显,实验效果也俱佳。有需要的小伙伴可以在CSDN后台留言+点赞收藏…

闲人闲谈PS之三十三——项目承诺成本管理

惯例闲话&#xff1a;学习很苦&#xff0c;坚持很酷——最近看到这句话&#xff0c;苦和酷放在一起&#xff0c;总有一种感觉&#xff0c;吃苦是为了耍酷。这恰恰是这句话的问题之处&#xff0c;苦是自己的&#xff0c;酷是外部环境对自己的评价。所以&#xff0c;苦这件事情&a…

k8s1.25版本集群部署(亲测有效)

1.实验环境准备 准备三台centos7虚拟机&#xff0c;用来部署k8s集群&#xff1a; master&#xff08;hadoop1&#xff0c;192.168.229.111&#xff09;配置&#xff1a; 操作系统&#xff1a;centos7.3以及更高版本都可以配置&#xff1a;4核cpu&#xff0c;4G内存&#xff…

【JavaScript流程控制-分支】

JavaScript流程控制-分支1 本节目标2 流程控制3 顺序流程控制4 分支流程控制if语句4.1 分支结构4.2 if语句4.2.1 语法结构4.2.2 执行流程4.3 if else语句(双分支语句)4.3.1 语法结构4.3.2 执行流程4.4 if else if语句(多分支语句)4.4.1 语法结构4.4.2 执行流程5 三元表达式5.1 …

蓝桥杯嵌入式第一篇 点亮LED灯开启成功之路

文章目录前言一、准备工作1.拿到开发板第一步看原理图2.下载STM32cubeMX二、开始点灯1.查看LED原理图2.cubeMX配置3.代码实现总结前言 从这篇文章开始将为大家带来最详细最全面的蓝桥杯嵌入式教学&#xff0c;本教程将使用STM32cubeMX教大家快速入门STM32。花最少的时间拿下国…

电镀废水末端除镍工艺,除镍树脂如何使用?

电镀废水的处理方案分析 电镀废水中含有铜、镍等金属物质&#xff0c;具有较高的回收价值。因此&#xff0c;为了减少环境污染&#xff0c;提高电镀企业的经济效率&#xff0c;一般会对电镀废水进行 回收性的处理&#xff0c;来回收金属铜、镍等。而从目前情况看&#xff0c;…

ipv6地址概述——了解ipv6与ipv4不同

目录 一 ipv4与ipv6 1.ipv4的概述 2.ipv4存在的问题 3.ipv6的概述 4.ipv4与ipv6的优点和特点 5.ipv6与ipv4的变化 ipv4包头 ipv6包头 6.ipv6的基本术语 个人简介&#xff1a;云计算网络运维专业人员&#xff0c;了解运维知识&#xff0c;掌握TCP/IP协议&#xff0c;每…

三菱机床联网

一、设备信息确认 1、确认型号 数控面板拍照确认&#xff1a; 此系统为&#xff1a;M70控制器 注&#xff1a;目前M70和M80&#xff0c;基本上都有网络通讯和采集功能。 2、确认通讯接口 网口常见位置&#xff0c;LAN标号&#xff0c;可通过这个确认&#xff1a; 1、数控…

云计算的一些常见安全风险

许多企业正在将业务转移到云端以提高效率并简化工作负载。虽然云计算可以为组织提供竞争优势&#xff0c;但重要的是不要在不了解所涉及的风险的情况下仓促采用云。无论您的组织是否已经开始迁移到云&#xff0c;有几个关键的安全注意事项需要牢记在心。下文是一些云计算的常见…

【SQLite】一、SQLite简介——MySQL的简洁版

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;浙江某公司软件工程师&#xff0c;负责开发管理公司OA、CRM业务系统&#xff0c;全栈领域优质创作者&#xff0c;CSDN学院、蓝桥云课认证讲师&#xff0c;开发过20余个前后端分离实战项目&#xff0c;主要发展方向为Vue…

PTA题目 寻找250

对方不想和你说话&#xff0c;并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。 输入格式&#xff1a; 输入在一行中给出不知道多少个绝对值不超过1000的整数&#xff0c;其中保证至少存在一个“250”。 输出格式&#xff1a; 在一行中输出第…

openEuler 通过Rook在k8s集群部署Ceph

openEuler 版本号: 2209 前置条件 k8s集群版本 kubectl version Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.12", GitCommit:"b058e1760c79f46a834ba59bd7a3486ecf28237d", GitTreeState:"clean&…

图片加水印怎么弄?小白都会的加水印方法

现在给图片添加水印很重要&#xff0c;因为我们辛苦拍摄的照片或视频很容易被其他人转发&#xff0c;而他们无需注明出处和原作者&#xff0c;因此很容易误导浏览者&#xff0c;让他们以为这些照片是“转载者”拍摄的。这样其实对原作者很不公平&#xff0c;如果不添加水印&…

C语言 9 —— 函数

把相同业务功能维度的代码有机的整合起来做成函数&#xff0c;这样做既可以方便反复调用&#xff0c;又可以在空间上节省代码行数。 函数的定义&#xff1a; 返回值类型 函数名(参数类型1 参数变量名1, ....参数类型N 参数变量N){ //此处参数为形参// 函数体.... } 如果不需…