SSH:Struts1框架(MVC讲解)

原创 2015年11月19日 10:54:36

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

MVC 编程模式

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
  通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
  通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
  通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
框架内容
MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。


视图

视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和像XHTMLXML/XSL,WML等一些标识语言和Web services.
MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

模型

模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

控制器

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

区别

框架和设计模式的区别
有很多程序员往往把框架模式和设计模式混淆,认为MVC是一种设计模式。实际上它们完全是不同的概念。
框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。
框架模式有哪些?
MVC、MTV、MVP、CBD、ORM等等;
框架有哪些?
C++语言的QT、MFC、gtk,Java语言的SSH 、SSIphp语言的 smarty(MVC模式),python语言的django(MTV模式)等等
设计模式有哪些?
工厂模式、适配器模式、策略模式等等
简而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。

版权声明:本文为博主原创文章,未经博主允许不得转载。

SSH:Struts1框架(几种常用的Action)

除了基本的Action 之外, Struts 还提供了几个其他类型的Action ,这些Action 大大 丰富了Struts 的功能。下面介绍如下儿个常用的Action 。 • DispatchAc...
  • qq_27550755
  • qq_27550755
  • 2015年11月19日 12:37
  • 442

Java三大框架SSH与MVC的设计模式

现在许许多多的初学者和程序员,都在趋之若鹜地学习Web开发的宝典级框架:Struts2,Spring,Hibernate。似乎这些框架成为了一个人是否精通Java,是否会写J2EE程序的唯一事实标准和...
  • qq_33094497
  • qq_33094497
  • 2016年09月20日 08:30
  • 2142

浅谈MVC模式与SSH框架

浅谈MVC模式与SSH框架 一.MVC的理解    为什么会有MVC模式?前辈们经过多年的开发经验,发现WEB开发主要涉及三个方面。第一,得有界面,也就是视图层(View),它负责展示数据给用户和...
  • u012585988
  • u012585988
  • 2016年12月26日 16:55
  • 966

SSH框架与MVC架构之间的联系

MVC三层架构: 模型层,控制层和视图层。 ①模型层,用Hibernate框架让来JavaBean在数据库生成表及关联,通过对JavaBean的操作来 对数据库进行操作; ② 控制层,...
  • CSDN_LQR
  • CSDN_LQR
  • 2016年11月19日 13:50
  • 1237

MVC架构和SSH框架对应关系

MVC三层架构:模型层,控制层和视图层。模型层,用Hibernate框架让来JavaBean在数据库生成表及关联,通过对JavaBean的操作来对数据库进行操作;控制层,用Struts框架来连接数据层...
  • ABC006250
  • ABC006250
  • 2012年08月15日 16:53
  • 3426

浅谈MVC设计模式和SSH框架的关系

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://9339792.blog.51cto.com/9329792/1684797 ...
  • jinlong_cai
  • jinlong_cai
  • 2017年02月22日 09:46
  • 2527

从MVC和三层架构说到ssh整合开发

1.MVC(Model-View-Controller)设计模式: 首先让我们了解下MVC(Model-View-Controller)的概念:      MVC全名是Model View Con...
  • u012949588
  • u012949588
  • 2016年01月22日 10:14
  • 2011

常用WEB框架Struts1、Struts2和Spring MVC大PK(一)(转)

引言 前面我们详细介绍了Spring MVC(轻松上手SpringMVC),那我们是否应该反问自己我们常用的轻量级WEB框架Struts1,Struts2和Spring MVC有什么...
  • qiulongtianshi
  • qiulongtianshi
  • 2012年07月24日 08:50
  • 6690

struts1是如何实现MVC的

Struts2是对MVC模式实现的一个Web应用框架。MVC的工作原理我们都很熟悉那么struts2是如何实现这一模式思想的呢?         首先我们知道MVC分为View——controller...
  • u013030682
  • u013030682
  • 2016年09月11日 20:19
  • 589

【SSH 基础】SSH框架--struts深入详解(二)

继上篇博客         既然我们知道了不使用struts给我们带来这么多弊端,那么下面我们来看看struts是如何封装的,怎么解决我们出现的问题的?   先来说一下struts的基本流程,帮助大...
  • hejingyuan6
  • hejingyuan6
  • 2014年08月18日 10:26
  • 4884
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SSH:Struts1框架(MVC讲解)
举报原因:
原因补充:

(最多只允许输入30个字)