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%的人还看了以下文章

  • 纯JSP实现计算圆的面积和周长

    一个jsp页面由元素和模板数据组成.元素是必须由jsp容器处理的部分.而模板数据是jsp容器不处理的部分,如jsp中的HTML内容 元素有三种类型: 脚本元素,指令元素, 动作元素 脚本元素:包含三个部分:声明,脚本段,表达式 声明:用于声明在其它脚本元素中可以使用的变量和方法 脚本段:是一段java代码 表达式:java语言中完整的表达式 声明 以<…

    2020年4月3日
    23.5K0
  • JQuery change ()、.on(‘change’, function (){})事件只触发一次原因详解

    JQuery中使用  $(“input”).on(“change”,function(){})  仅仅会触发一次,第二次点击或输入不再触发。 JQuery change ()、.on(‘change’, function (){})事件只触发一次解决方法 (1)用jQuery的live代…

    2019年11月13日
    11.0K0
  • 第一章Java Web应用开发技术概述

    1、了解Java Web应用开发技术相关知识
    2、掌握jsp工作原理
    3、掌握开发环境搭建、开发工具的使用。
    4、掌握Java Web开发的基本步骤
    5、学会设计一个简单的网页程序并运行。

    2018年2月1日
    5.8K0
  • python 初学者练手上机实操六-变量的定义及输入输出

    一、题目:打印诗“悯农” 要求: 1、新建一个“悯农.py” 2、编写程序。 3、调试程序。 4、排除错误。 二、题目:键盘输入三角形的三边,求三角形的周长。 1、新建一个triangle.py文件 2、编写程序。 3、调试程序。 4、排除错误。 三、定义三个变量分别存储你的姓名、班级、年龄并输出。 要求: 1、新建一个“info.py”文件 2、编写程序。…

    2023年6月15日
    7.3K0
  • java中类、接口、方法、变量命名时的大小写问题

    类或者接口 一个单词:首字母大写 举例:Student,Demo 多个单词:每个单词首字母大写 举例:HelloWorld,StudentName 方法或者变量 一个单词:首字母小写 举例:name,main 多个单词:从第二个单词开始,每个单词首字母大写 举例:studentAge,showAllNames() 常量 全部大写 一个单词:大写 举例:PI …

    2020年11月15日
    4.1K0
  • aspx文件编码不统一导致乱码

    今天发现了一个很奇怪的现象,页面在VS2008下面,有些页面乱码,而有些則不会。 上网查找了很多方法均不能解决,根据以前开发asp,php的经验,怀疑这些页面的编码可能不一样。 在VS2008下面还真的不知道在哪里看文件的编码,用Dreamweaver打开一个乱码跟一个不乱码的页面对比了一下,发现一个是gb2312(不乱码),而别外一个则是utf-8(乱码)…

    2019年2月14日
    3.2K0

发表回复

登录后才能评论