MVC顾名思义分为三层:

M:Model层   Model层中  包含 DAO层和Javabean层;

V:view 意为视图层也叫表示层,也可以直接理解为是JSP,用于前端显示;

C:  ‘控制层’  包含ctroller层,和service层;

接下来,进行具体的理解(笔者个人理解)M,V,C,三个层次下面的各个层次。

1.首先了解,‘控制层’下的ctroller 层 和service层

ctroller层:控制层,主要实现与视图层的交互,调用service层的接口来控制业务流程。

service层:业务层,调用DAO层的接口,负责给controller层提供接口,(建立在DAO层之上,controller层之下)   首先设计自己的接口,再设计其实现类,负责业务模块的逻辑应用设计。

2.再讲一下,Model层下的DAO层和Javabean层

DAO层:数据访问层,用来操作数据库的层次,比如,连接,增删改查等操作,这个层次和Javabean层次是一一对应的。该层次也是先设计自己的接口,一般是一个表对应一个接口,然后再设计接口相对应的实现类,一般操作,增删改查这些步骤很是相似,可以设计个接口,再用一个公共类进行实现该接口。

Javabean层:里面的类是用来和DAO层一一对应,用来操作数据库,我的理解是javabean更多的是一种规范,就是一个Java对象可以包含一组set和get方法。该层通常也写成pojo(简单的Java对象,实际就是普通的Javabean)层和entity(实体bean)层。该层次下的一个类对应数据库中的一个表单

MVC实现的过程:  表示层(view)调用控制层(controller),控制层调用业务层(service),业务层调用数据访问层(DAO);

以下是笔者自己写的一个MVC关系逻辑,因为手机像素太高,上传到电脑上来,显示太大了,下到手机下来看就会正常显示的,因为笔者也是最近学的MVC,云里雾里的感觉,所以就花了几个小时,自己整理的,不足之处,欢迎指正。

MVC个层次之间的联系的更多相关文章

  1. .NET、C#和ASP.NET,ASP.NET MVC 四者之间的区别

    经常,会有一些人搞不清楚.NET和c#和ASP.NET这三者之间的关系,她们都是什么呢?他们之间有什么关系呢?总结一下 首先:什么是.NET? .NET是微软公司下的一个开发平台,.NET核心就是.N ...

  2. MVC中Action之间传值

    一  MVCAction之间的传值 之前一直觉得关于MVC里面的传值,只能从<视图—>Action>,和<Actoin->视图>但是今天在项目里面需要实现将几个视图 ...

  3. mvc 三个 之间 肮脏的交易

    就当个小零食一样写. MVC 是 Model-View-Controller 的缩写,Model代表的是应用的业务逻辑(通过 JavaBean,EJB 组件实现),View 是应用的表示层(由 JSP ...

  4. .NET、C#和ASP.NET、ASP.NET MVC四者之间的区别

    什么是.NET? .NET是微软公司下的一个开发平台,.NET核心就是.NET Framwork(.NET框架)是.NET程序开发和运行的环境,在这个平台下可以用不同的语言进行开发,因为.NET是跨语 ...

  5. MVC与MVVM之间在IOS中的区别

    作为一个iOS开发者,我不止一次听到我的一些开发者朋友跟我说我写的iOS代码看起来好舒服,很整洁,为什么咱们iOS开发的相当一大部分应用软件都给人以美的享受,究竟是什么使得iOS上的应用可以如此漂亮? ...

  6. ASP.NET MVC controller 之间传JS值

    在ASP.NET MVC中有东西叫TempData,它的类型是TempDataDictionary,它与ViewData以及ViewBag的不同之处在于 它的内部是使用session来保存信息的,可以 ...

  7. PCB MVC启动顺序与各层之间数据传递对象关系

    准备着手基于MVC模式写一套Web端流程指示查看,先着手开发WebAPI打通数据接口,后续可扩展手机端 这里将MVC基本关系整理如下: 一.MVC启动顺序 二.MVC各层之间数据传递对象关系

  8. .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整-控制反转和依赖注入的使用

    再次调整项目架构是因为和群友dezhou的一次聊天,我原来的想法是项目尽量做简单点别搞太复杂了,仅使用了DbContext的注入,其他的也没有写接口耦合度很高.和dezhou聊过之后我仔细考虑了一下, ...

  9. ASP.NET Core 中文文档 第四章 MVC(4.2)控制器操作的路由

    原文:Routing to Controller Actions 作者:Ryan Nowak.Rick Anderson 翻译:娄宇(Lyrics) 校对:何镇汐.姚阿勇(Dr.Yao) ASP.NE ...

随机推荐

  1. BNU 20860——Forwarding Emails——————【强连通图缩点+记忆化搜索】

    Forwarding Emails Time Limit: 1000ms Memory Limit: 131072KB This problem will be judged on UVA. Orig ...

  2. Java网络编程二--基于UDP的编程

    DatagramSocket对象为基于UDP协议的Socket 构造器提供可以选择性绑定到指定端口和ip 创建完对象后调用:receive(DatagramPacket p) send(Dategra ...

  3. python词频统计

    1.jieba 库 -中文分词库 words = jieba.lcut(str)  --->列表,词语 count = {} for word in words: if len(word)==1 ...

  4. Thrift笔记(三)--Thrift框架通信源码分析

    Thrift 客户端调用RPC的Demo public static void main(String[] args) throws Exception { TTransport transport ...

  5. 【Spring Boot】集成Netty Socket.IO通讯框架

    服务端 @Configuration public class NettySocketConfig { private static final Logger logger = LoggerFacto ...

  6. CMDB认识和需求分析

    一.认识ITIL   ITIL即IT基础架构库(Information Technology Infrastructure Library,信息技术基础架构库)由英国政府部门CCTA(Central ...

  7. IntelliJ IDEA 2017.3.5 安装 lombok-plugin-0.17 失败,通过网络下载总是超时

    1.问题: IntelliJ IDEA 2017.3.5 安装 lombok-plugin-0.17 失败,通过网络下载总是超时: 2.原因:IntelliJ IDEA 2017.3.5 目前还不支持 ...

  8. 概述File i/o

    1.File对象既可表示文件,也可表示目录(文件夹). 2. 创建一个File对象 File file = new File (String pathName[文件路径名]); 3.在Windows操 ...

  9. 【Linux】sudo用户权限管理

    权力下放 一.权力分配- sudo Sudo是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的"权力",让 他们执行一些只有超级用户或其他特 ...

  10. 将CSV文件中的数据导入到SQL Server 数据库中

    导入数据时,需要注意 CSV 文件中的数据是否包含逗号以及双引号,存在时,导入会失败 选择数据库 -> 右键 -> 任务 -> 导入数据 ,然后根据弹出的导入导出向导(如下图)中的提 ...