引言:
MVC是一种设计思想,是无色无味看不见摸不着的。它是设计师脑子里的东西,而web的三层架构则是落地实现,也就是划分各部分的包(controller、service、dao),然后进行代码的编写。它是实打实的代码。

MVC设计模式与JavaWeb的三层架构

  • MVC设计模式
    • 基本概念
    • mvc关系图
    • mvc模式好处
  • JavaWeb的三层架构
    • 三层架构
    • 三层架构图示
    • JavaWeb包的命名与三层架构
  • 二者的对应关系
    • 二者对应关系图
    • 补充

MVC设计模式

基本概念

MVC设计模式,它是施乐帕克研究中心在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,提供了一种按功能对软件进行模块划分的方法。MVC设计模式将软件程序分为3个核心模块:模型(Model)、视图(View)和控制器(Controller),这3个模块的作用如下所示。

M:模型

模型(Model)负责管理应用程序的业务数据、定义访问控制以及修改这些数据的业务规则。当模型的状态发生改变时,它会通知视图发生改变,并为视图提供查询模型状态的方法。(业务模型,处理业务)

V:视图

视图(View)负责与用户进行交互,它从模型中获取数据向用户展示,同时也能将用户请求传递给控制器进行处理。当模型的状态发生改变时,视图会对用户界面进行同步更新,从而保持与模型数据的一致性。(视图,界面展示)

C:控制器

控制器(Controller)是负责应用程序中处理用户交互的部分,它负责从视图中读取数据,控制用户输入,并向模型发送数据。(控制器,调用模型和视图)

mvc关系图

mvc模式好处

1、职责单一
2、有利于分工协作
3、有利于组件重用

JavaWeb的三层架构

三层架构

View(表现层):

本层由一系列的页面及视图组件组成,负责收集用户请求,并显示处理后的结果。

Service(业务逻辑)层:

本层由一系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。

DAO(Data Access Object,数据访问对象)层:

本层由一系列 DAO 组件组成,这些DAO实现了对数据库的创建、查询、更新和删除等操作。

三层架构图示

JavaWeb包的命名与三层架构

view层所在包一般命名如下

com.xxx.web
com.xxx.servlet
com.xxx.controller

Service层所在包一般命名如下

com.xxx.service(Service接口包)
com.xxx.service.impl(Service接口实现类)

Dao层所在包一般命名如下

com.xxx.dao(Dao接口)
com.xxx.dao.impl(Dao接口实现类)

如果Dao层使用了mybatis,一般命名为

com.xxx.mapper

补充
实体bean对象

com.xxx.pojo
com.xxx.entity
com.xxx.domain
com.xxx.bean

测试包

com.xxx.text
com.xxx.junit

工具类

com.xxx.utils

一些常用的公共方法

com.xxx.common

过滤器

com.xxx.filter

配置类

com.xxx.config

二者的对应关系

二者对应关系图

补充

三大框架(ssm三大框架)其实是对三层架构的简化,springMVC简化表现层、mybatis简化数据访问层、spring简化业务逻辑层的开发。

MVC设计模式与JavaWeb的三层架构相关推荐

  1. C# 框架是什么?MVC是什么 ?工厂模式是什么?设计模式是什么?三层架构是什...

    C# 框架是什么? MVC是什么 ? 工厂模式是什么? 设计模式是什么? 三层架构是什么? 如果要学我该从何学起??? C# 框架看这里 http://download.csdn.net/source ...

  2. javaweb基本三层架构并使用Eclipse开发Servlet

    javaweb基本三层架构并使用Eclipse开发Servlet JAVAEE分层模型 web应用程序基本架构 Domain Object Data Access Object 业务逻辑层 控制器层 ...

  3. java框架三层架构是_MVC框架模式和Javaweb经典三层架构

    一.MVC设计模式 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Co ...

  4. Javaweb经典三层架构的演变

    1.Javaweb经历了三个时期 ①JSP Model1第一代  JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低!Model1第一代时期,服务器端只有JSP页面,所有 ...

  5. javaWeb 11(三层架构)

    分层模式         分层模式是最常见的一种架构模式 分层模式是很多架构模式的基础 分层         将解决方案的组件分隔到不同的层中 在同一个层中组件之间保持内聚性 层与层之间保持松耦合 三 ...

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

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

  7. 简述mvc和java三层框架,springMVC设计模式和javaWeb三层框架

    一.springMVC  设计模式 MVC模式是软件工程中的一种能够软件架构模式,把软件分为三个基本部分,模型(model).视图(view)和控制器(controller).使程序简化,更加直观. ...

  8. 浅谈javaweb三大框架和MVC设计模式

    浅谈javaweb三大框架和MVC设计模式 转载自:http://blog.csdn.net/sunpeng19960715/article/details/50890705 小序:博主以前在学jav ...

  9. Java-Web JSTL标签库、自定义标签库和MVC设计模式

    目录 一.JSTL标签库 1.什么是JSTL 2.JSTL标签库 3.使用taglib指令导入标签库 4.core标签库常用标签 (1)out和set (2)remove (3)url (4)if ( ...

最新文章

  1. [转载] 七龙珠第一部——第091话 克林反败为胜
  2. macos可以升级到指定版本吗_iOS13系统终结版本即将出现,iOS13.5还值得升级吗
  3. JS中使用bignumber处理高精度小数运算
  4. 95-230-028-源码-WordCount走读-获取ExecutionGraph
  5. 12.04 ubuntu 安装微软雅黑的字体
  6. 用HTML和CSS制作简单的静态网页
  7. NOD32中小企业服务器版部署方法
  8. Windows 11 修改Edge按 Alt+Tab 键为单个窗口
  9. 爬虫入门(3)——拉钩网
  10. POE交换机和普通交换机哪里不同?POE交换机和普通交换机哪个好?
  11. Python—网络编程_Mail
  12. iframe内嵌标签
  13. 1143-最长公共子序列的长度和最长公共子序列
  14. android 关机 流程_android 关机 流程分析
  15. STC89C52单片机串口通信以及代码演示
  16. python的学习笔记案例3--基础代谢率计算1.0
  17. DES Wrong Key Size错误
  18. 编码训练营 vs 大学:哪个将帮助您获得科技行业最有声望的工作?
  19. Greendao多线程下载
  20. 如何做好独立的B2C商城系统运营,实现转化与交易?——甲由科技

热门文章

  1. Haskell超简单自学笔记-01安装及入门编程
  2. 骁龙820A: 高通车联网诱惑力的代表
  3. css文本超出 自动换行
  4. 【桌面开发】vscode+Debugger-For-NWjs+nwjs-sdk-vx.x.x-xxos调试环境搭建
  5. 《贝叶斯思维:统计建模的Python学习法》一1.3 曲奇饼问题
  6. Part I 空气曲棍球 Chapter6(6.8 Adding Rotation)
  7. java byte 拓展_Java字节码文件的扩展名是( )。
  8. unity-个人开发技巧
  9. 简单聊一聊磁珠,电感和0R电阻
  10. uniapp小程序_安卓_Android的校园报修管理APP-ssm框架