MVC详解:模型(Model)-视图(View)-控制器(Controller)

MVC(模型-视图-控制结构)是软件开发中常用的一种架构模式。它强制性的将输入、处理和输出分开。使应用程序被分成三个核心部件:模型 (Model)、视图(View)和控制(Controller)。它们各自处理自己的任务,有效地分离存储数据和展示数据功能模块以降低它们之间的耦合度。

MVC体系结构:

MVC详解:模型(Model)-视图(View)-控制器(Controller)

模型层主要负责保存和访问业务数据,执行业务逻辑和操作。这一层是现实业务功能的核心。模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。

视图层主要负责显示模型层的内容。它指定来自模型层的数据如何被显示出来,当模型变化的时候,它将自动更新。另外视图层也会将用户的输入传送给控制器。

控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。

可见:

  • (控制器Controller)- 负责转发请求,对请求进行处理。
  • (视图View) – 界面设计人员进行图形界面设计。
  • (模型Model) – 程序员编写程序应有的功能

MVC的处理过程:

首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

MVC优点:

在模型层、视图层和控制层之间划分责任可以减少代码的重复度,并使应用程序维护起来更简单。同时由于数据展示和业务逻辑的分离,在新的数据源加入和数据显示变化的时候,数据处理也会变得更简单。

  • 低耦合性
  • 高重用性
  • 易于维护

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/5108.html

(2)
江山如画的头像江山如画管理团队
详解如何在myeclipse中运行JSP,Run As none applicable(图)
上一篇 2020年2月23日 上午11:28
下一篇 2020年2月23日 上午11:35

99%的人还看了以下文章

  • 上机实战五 JavaBean的开发       

      建议学时:2 get方法 set方法 getProperty:获取bean的属性值 setProperty:设置bean的属性值 一、通过表单指定JavaBean的属性。 编写Goods.java(javaBean),定义商品名称、代号、价格,并提供相应的get\set方法。 编写Goods.jsp,页面效果如下,点击提交按钮,会调用javabean,将…

    2018年11月13日
    9.4K0
  • OpenCV-最优秀的Python人脸识别库安装及入门教程

    OpenCV库(open source computer vision library)是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上,具有跨平台特性,轻量级且高效,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV用C++语言编写,它具有C ++,P…

    2020年12月8日
    16.7K2
  • Java常见面试题200+,学习、面试必备

    本套Java面试题,选取了企业面试最常问到的问题,可以做为Java工程师的面试宝典,也可以做为想要不断完善和扩充自己 java 技术的学习者。 主要包含: Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Myb…

    2019年8月29日
    10.8K0
  • Tomcat8启动一闪而过、Tomcat8启动闪退的解决办法(精)

    Tomcat8启动一闪而过、Tomcat8启动闪退的解决办法(精)Tomcat8启动一闪而过、Tomcat8启动闪退的解决办法(精)Tomcat8启动一闪而过、Tomcat8启动闪退的解决办法(精)Tomcat8启动一闪而过、Tomcat8启动闪退的解决办法(精)

    下载了Tomcat8,在CMD命令下输入命令:startup,Tomcat8启动一闪而过,测试http://localhost:8080/ 无法打开,网上找了很多文章都没解决,后来折腾出来了,特写教程分享给大家! Tomcat8.0 解压缩完,运行tomcat8.exe屏幕一闪就没了,运行tomcat8w.exe弹出个筐:  Unable to open t…

    2019年4月8日 编程开发
    24.3K0
  • MySQL存储过程快速入门

    什么是存储过程 创建一个简单的存储过程 存储过程中的参数 存储过程的优势和不足 一、什么是存储过程 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。 存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能 MySQL…

    2018年12月20日
    3.6K0
  • python 实战-逢7 过游戏的实现

    不知道你有没有玩过“逢 7 过”的游戏,游戏规则很简单: 几个人轮流报数,凡遇到 7 的倍数,或含 7 的数字就要跳过,否则就算失败。 今天我们就用 Python 来打印 1 到 100 之间,所有满足条件的数字。 知识点 Python 开发环境 int 类型 变量 运算符 while 循环 条件判断 💡提示: 开发中,我们经常要先构思框架,…

    2022年2月2日
    12.4K0

发表回复

登录后才能评论