首先,声明一下,三层是三层,MVC是MVC,这俩是毫无关系的。

三层是从整个应用程序架构的角度来分的三层(如果程序需要,还可以分多层)。

三层架构通常包括表示层,业务逻辑层以及数据访问层。虽然三层架构将系统在逻辑上分成了三层,但是它并不是物理上的分层。也就是说,对不同层的代码而言,经历编译、打包、部署后,所有的代码最终还是运行在同一个进程中。
MVC是一种设计模式,一种思想,是存在于应用程序(B/S结构:又称之浏览器/服务器)的视图层划分出来的不同功能的几个模块。

MVC主要是为了解决应用程序用户界面的样式替换问题,把展示数据的 HTML 页面尽可能的和业务代码分离。MVC把纯净的界面展示逻辑(用户界面)独立到一些文件中(Views),把一些和用户交互的程序逻辑(Controller)单独放在一些文件中,在 Views 和 Controller 中传递数据使用一些专门封装数据的实体对象,这些对象,统称为Models。

只所以说MVC和三层毫无关系,是因为它们二者使用范围不同:三层可以应用于任何语言、任何技术的应用程序;而MVC只是为了解决BS应用程序视图层各部分的耦合关系。它们互不冲突,可以同时存在,也可根据情况使用其中一种。

对于,我们JAVA开发者来说:

三层架构是界面层(Web)业务逻辑层(Service)和数据访问层(Dao)构成的

MVC设计模式是模型层(Model)界面层(View)和控制层(Controller)构成的,而且他们之间也不对应。

总结:

​ ① 三层架构是Java体系独有的专有名词,MVC在其他语言中也是存在的设计模式。

​ ② 三层架构是采用分层思想,减轻类与类(接口)之间的耦合,通俗的说是为了减轻代码之间的依赖性,避免产生牵一发而动全身的后果。而MVC意在将后端代码和前台展示代码进行了分离。JavaBean既是一个封装的java对象,View是用来给前台客户端显示反馈的页面,采用Jsp来完成。而前台的代码与后端的逻辑代码之间的交互工作就交付给了Servlet。

​ 运作流程:Servlet接受到前台的传递的数据进行传递给业务逻辑层Service层,Service层处理完毕传递给数据库访问Dao,Dao通过Jdbc或者持久化将数据注入到数据库中去,继而反馈给Service层,Service层响应给Servlet,Servlet返回给Jsp页面。

如下图所示:

是不是顿时感到世界明朗了,对分层又深入了解了一步。

作者: 杨校

出处: https://blog.csdn.net/kese7952

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(397583050@qq.com)咨询。

杨老师课堂之JavaWeb体系的MVC与三层架构有什么区别相关推荐

  1. 杨老师课堂之JavaWeb网站技术架构总结

    题记 有很多学生及一线的开发人员经常会问我到底是什么技术架构,是不是就是目前在学校的SSH.SSM技术,为了让更多的同行对架构这个词汇有更深刻的理解,我分享一下自己的个人见解.从编程开发到IT教学也有 ...

  2. 杨老师课堂之网页制作HTML的学习入门-含有案例

    网页制作入门 - Html的学习 本篇所授任务 网站信息页面案例 网站图片信息页面案例 网站友情链接页面案例 网站首页案例 网站注册页面案例 网站后台页面案例 教学导航 教学目标 了解什么是标记语言 ...

  3. 台州杨老师课堂 UI设计培训班

    课程内容 一.图形界面设计基础 1.Photoshop 应用 通过各种不同风格网页整体GUI设计,掌握photoshop相关软件操作基础,熟练使用更重要是学会直接应用软件,通过项目实训直接设计. 2. ...

  4. 关于MVC与三层架构、个人总结网上杂七杂八得出的最终成果、asp.net (core) MVC、JavaWeb的MVC

    阅读本文必须明白的事情 首先需要明白的是不同语言实现的MVC与三层架构对应的层是不一样的!!! 拿.net来说,.net实现MVC与其他语言的MVC具体实现是不同的,asp.net MVC与 MVC ...

  5. JavaWeb——MVC与三层架构

    文章目录 JavaWeb--MVC与三层架构 1.三层架构 2.MVC 3.MVC与三层架构的对应联系 4.MVC与三层架构的区别 JavaWeb--MVC与三层架构 1.三层架构 三层架构 (3-t ...

  6. MVC与三层架构区别

    我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真相. 首先,它俩根本不是一个概念. 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. ...

  7. MVC与三层架构理解

    文章目录 1. JSP的发展 2. MVC思想 优缺点 3. 三层架构 为什么使用三层 三层优缺点 4. MVC与三层架构的区别 1. JSP的发展 早期只有Servlet,只能使用response输 ...

  8. MVC与三层架构之间的关系

    一. MVC MVC是软件工程中的一种软件架构模式,分为Model(模型).View(视图).Controller(控制器) 1. Model model是应用对象,程序员编写程序应有的功能(实现算法 ...

  9. MVC与三层架构的联系及三层架构实现学生注册功能

    MVC与三层架构的联系及三层架构实现学生注册功能 三层架构的逻辑关系: MVC和三层架构的联系: 三层架构实现学生注册功能的逻辑: 学生注册页面: 输入学生信息: 完成学生注册: 代码实现: add. ...

最新文章

  1. Hibernate的使用梳理
  2. RabbitMQ是如何运转的?
  3. twitter 数据集处理_Twitter数据清理和数据科学预处理
  4. 从git仓库获取源码_微软开源Scalar,提升操作巨型Git仓库的速度
  5. 国标 计算机机房,国标相关知识:电子信息系统机房设计规范(GB50174-2008)
  6. AD教程系列 | 3 - 创建原理图库和PCB库
  7. 人工智能最前沿的技术视频,大量教程
  8. 未来不迎,当下不杂,过往不恋
  9. jw播放器 html5,JW播放器HTML5专用模式
  10. 如何挑选微信第三方开发商
  11. 严师出高徒VS名师出高徒
  12. 关于阿里云服务器的问题及答案(详细汇总)
  13. 【读书笔记】设计模式第十一十二章收获
  14. 【转】抽象基类与接口,共性与个性的选择!
  15. 微信拍一拍怎么撤回(无法撤回原因是这样的)
  16. lack名词形式_lack用法
  17. 自动气象站解决方案 案例分享
  18. 罗密哦与朱丽叶----this指针、函数封装
  19. Oracle甲骨文(北京中关村)授权学习中心 简介
  20. 如何判断Android手机是否黑屏和锁屏

热门文章

  1. PHP验证身份证号码
  2. 动态获取鼠标在盒子里的位置
  3. 2419286-92-1,Sulfo-Cy5.5 NHS ester,磺酸基Cyanine5.5-活性酯,用于标记抗体
  4. java程序员第二语言_程序员如何选择自己的第二语言
  5. 换到linux系统切换分辨率后,显示器输入不支持,input not support
  6. 电脑黑客技术新手入门,自学黑客技术入门教程
  7. Windows实时拓展Kithara
  8. 数据库(仅供个人复习使用)
  9. 万字梳理计算机网络(最全)
  10. whmcs license.php,免费永久WHMCS授权(套用Hostgator)申请及使用教程