MVC开发模式

article/2025/9/25 1:17:43

一.MVC设计模式

  1.MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

  2.MVC可对程序的后期维护和扩展提供了方便,并且使程序某些部分的重用提供了方便。而且MVC也使程序简化,更加直观。

  3.控制器controller:对请求进行处理,负责请求转发,servlet

     视图层view ,界面设计 jsp

     模型model 编写程序的应用功能,实现算法等,数据库管理,处理业务逻辑,封装实体对象,JavaBean

  4.现在几乎所有的B/S结构的软件都采用了MVC 设计模式,但MVC模式在B/S结构的软件中并没有完全实现,例如有些并没有事件驱动

 

二.Javaweb与MVC

1.jsp model 1第一代

JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低!Model1第一代时期,服务器端只有JSP页面,所有的操作都在JSP页面中,连访问数据库的API也在JSP页面中完成。也就是说,所有的东西都耦合在一起,对后期的维护和扩展极为不利。

 

2.jsp model 1第二代

JSP Model1第二代有所改进,把业务逻辑的内容放到了JavaBean中,而JSP页面负责显示以及请求调度的工作。虽然第二代比第一代好了些,但还让JSP做了过多的工作,JSP中把视图工作和请求调度(控制器)的工作耦合在一起了。

 

3. jsp model 2

JSP Model2模式已经可以清晰的看到MVC完整的结构了。

  1. JSP:视图层,用来与用户打交道。负责接收用来的数据,以及显示数据给用户;
  2. Servlet:控制层,负责找到合适的模型对象来处理业务逻辑,转发到合适的视图;
  3. JavaBean:模型层,完成具体的业务工作,例如:开启、转账等。

 

三.javaweb经典三层架构

我们常说的三层框架是javaweb提出的,也就是javaweb独有的

所谓三层是 表述层(WEB) 业务逻辑层(business logic) 数据访问层(Data Acess)

(1)web层:包含jsp,servlet等与web相关的内容

(2)业务层:只关心业务逻辑

(3)数据层:封装了对数据库访问细节

 

注意事项:  在业务层中不能出现JavaWeb API,例如request、response等。也就是说,业务层代码是可重用的,甚至可以应用到非Web环境中。业务层的每个方法可以理解成一个功能,例如转账业务方法。业务层依赖数据层,而Web层依赖业务层


http://chatgpt.dhexx.cn/article/6j81EuXb.shtml

相关文章

项目的开发模式

开发模式大概可以分为两种: 1、大公司的开发模式; 2、外包的开发模式; 一、大公司的开发模式; 1. 市场调研 2. 项目需求会(人员) 产品市场运营UI开发后端前端项目经理测试–>web/ios/安卓安全 3. …

什么是DDD开发模式

DDD尝试解决业务系统(逻辑CRUD)开发的复杂性问题,这种复杂性是由于复杂的业务规则,业务逻辑变化。 一般系统的业务逻辑、复杂性在于:流转判断多,专业规则多,计算量大。而DDD模式的解决的方式是通过分层,即业…

Scrum敏捷开发模式介绍与实践

文章目录 前言一、开发模式1. 瀑布流开发模式2. 迭代开发模式3. 螺旋开发模式4. 敏捷开发模式 二、敏捷开发模式三、敏捷模式1. Scrum2. Kanban3. XP4. Lean Startup 四、Scrum 敏捷开发模式1. 框架图2. 角色Scrum Master,SMProduct Owners, POSoftware …

什么是软件开发模式?

软件开发模式简介 1. 边做边改模型(Build-and-Fix Model) 好吧,其实现在许多产品实际都是使用的“边做边改”模型来开发的,特别是很多小公司产品周期压缩的太短。在这种模型中,既没有规格说明,也没有经过设…

T58 Office开发模式

加Check box https://www.howtogeek.com/204036/how-to-add-check-boxes-to-word-documents/ 点击设计模式激活。

C# 软件开发模式、设计模式、设计原则和架构

一、怎样做好软件开发? 软件是数据算法的集合体,是利用一定方法将数据进行合理的组合和分配的产物。其实在人们的生活当中,处处都充满着资源(数据)和方法(算法),成功的人都是善于使用他们总结的方法来使用资源的。软件开发也不例外…

螺旋式开发模式

螺旋模型是一种演化 软件开发过程模型,它兼顾了 快速原型的 迭代的特征以及 瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个…

常见的开发模式和不常见的开发模式

1. 瀑布式开发 瀑布模型的优点: 1、为项目提供了按阶段划分的检查点。 2、当前一阶段完成后,您只需要去关注后续阶段。 3、可在迭代模型中应用瀑布模型。增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的…

软件开发的11种模式

软件开发的11种模式 1,边做边改模型(Build-and-Fix-Model) 在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改。在这个模型中,开发人员拿到项目立即根据…

常见的开发模式模式

前言 主要是了解常见的开发模式,从而理解测试贯穿在整个软件研发过程中的定位。 一、常见的开发模式 引用林子老师梳理的开发模式,主要包括以下几种: 测试流程通常跟软件开发流程紧密相关,需要基于开发流程来定义。基于企业不同…

云手机虚拟服务器地址和端口,手机服务器地址端口号

手机服务器地址端口号 内容精选 换一换 当后台重新配置邮箱服务器等信息后,手机端WeLink一定要退出重新登录一次。我们常用的邮箱,比如:QQ邮箱、163邮箱、腾讯企业邮箱、网易企业邮箱、263企业邮箱等常见邮箱,可以参考常见问题 > 客户端-邮件里的“常见的IMAP邮箱配置方…

使用正则表达式验证手机号码

使用正则表达式验证手机号码 开发工具与关键技术:VS2015、正则表达式 作者:易金亮 撰写时间:2019.07.07在项目中,总会涉及到数据的新增,比如新增用户信息等,而说到新增用户信息,就离不开用户的…

安卓搭建虚拟服务器,安卓手机搭建云服务器

安卓手机搭建云服务器 内容精选 换一换 本文介绍使用云手机服务时需要了解的基本概念。云手机是一台包含原生安卓操作系统,具有虚拟手机功能的云服务器,简单来说,云手机=云服务器+Android OS。您可以远程实时控制云手机,实现安卓APP的云端运行;也可以基于云手机的基础算力…

JS判断输入手机号码是否正确

JS判断输入手机号码是否正确 现在中国地区的号码 中国电信号段133、149、153、173、177、180、181、189、190、191、193、199 中国联通号段130、131、132、145、155、156、166、167、171、175、176、185、186、196 中国移动号段134(0-8)、135、136、137、138、139、1440、147、…

android qq账号登陆验证手机号码,注册QQ号如何跳过手机验证

QQ的安全性在逐步提高,而我们申请QQ的过程也越来越复杂了。许多用户不希望申请QQ时透露手机号码这类隐私信息。所以很少人使用需要手机验证的手机申请方式,所以电脑申请QQ成为主流,但电脑申请方式在申请过一次QQ号码之后(不论成功与否)就不能…

虚拟号码怎么开通?

虚拟码号的开通方式基本一样 一、首先是企业实名,上传企业的证明文件,法人证件。 二、然后是提出开号需求,号码数量,号码区域 三、然后缴纳费用 四、等待3-8个工作日开号 通过API或者SDK接口接入自己的系统,要不就…

自定义HorizontalScrollView嵌套HorizontalListView实现手势监听、按钮监听横向滚动功能

今日空闲花了点时间对以前自主实现的项目功能进行改进和优化, 其实一些界面的小功能有时候没实现过,也没经验类似项目功能经验,反而耗费的时间会更多。下面我所描述的界面功能就是我在对用RecyclerView控件不熟悉的情况下使用了HorizontalScr…

ScrollView/HorizontalScrollView常用技巧,附源码

ScrollView是ViewGroup的派生类,ViewGroup是View的派生类。 屏幕大小总是有限制的,对移动设备来说更是如此。当有很多内容需要显示的时候,一屏显示不完时,就需要使用滚动的方式。 ScrollView只能包含一个直接子vi…

Android 自定义 HorizontalScrollView 横向滑动效果

自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果。的确HorizontalScrollView可以实现Gallery的效果,但是HorizontalScrollView存在一个很大的问题,如果你仅是用来展示少量的图片,应…

Android ScrollView、NestedScrollView、Horizo​​ntalScrollView 等

在这篇文章中,我们想看看几个滚动视图的变体或子类以及它们是如何使用的。以下是我们迄今为止涵盖的变体: ScrollView - 超类 NestedScrollView - 子类 Horizo​​ntalScrollView - 子类 StickyScrollView - 子类和第三方库。 ParallaxScrollView - 子类…