Struts开拓指南之MVC架构
模子-视图-节制器(MVC)是80年月Smalltalk-80呈现的一种软件设计模式,此刻已经被遍及的利用。
1、模子(Model)
模子是应用措施的主体部门。模子暗示业务数据,可能业务逻辑.
2、视图(View)
视图是应用措施顶用户界面相关的部门,是用户看到并与之交互的界面。
3、节制器(controller)
节制器事情就是按照用户的输入,节制用户界面数据显示和更新model工具状态。
MVC 式的呈现不只实现了成果模块和显示模块的疏散,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性
早期的措施中,假如不留意对数成果和显示的解耦合,经常会导致措施的巨大及难以维护。许多VB,Delphi等RAD措施都有这种问题。甚至此刻的C#,Java有时候也会呈现把业务逻辑写在显示模块中的现象
管MVC设计模式很早就提出,但在Web项目标开拓中引入MVC却是步履维艰。主要原因:一是在早期的Web项目标开拓中,措施语言和HTML的疏散一直难以实现。CGI措施以字符串输出的形式动态地生成HTML内容。厥后跟着剧本语言的呈现,前面的方法又被倒了过来,改成将剧本语言书写的措施嵌入在HTML内容中。这两种方法有一个沟通的不敷之处即它们老是无法将措施语言和HTML疏散。二是剧本语言的成果相对较弱,缺乏支持MVC设计模式的一些须要的技能基本。直到基于J2EE的JSP Model 2问世时才得以更改。它用JSP技能实现视图的成果,用Servlet技能实现节制器的成果,用JavaBean技能实现模子的成果
JSP Model 1 与 JSP Model 2
SUN在JSP呈现早期拟定了两种类型,称为Model1和Model2。固然Model2在必然水平上实现了MVC,可是它的应用用并不尽如人意
JSP Model 1
JSP Model 2
model2 容易使系统呈现多个Controller,而且对页面导航的处理惩罚较量巨大
有些人以为model2仍不足好,于是Craig R. McClanahan 2000年5月 提交了一个WEB framework给Java Community.这就是厥后的Struts.
2001年7月,Struts1.0,正式宣布。该项目也成为了Apache Jakarta的子项目之一
Struts 质上就是在Model2的基本上实现的一个MVC架构。它只有一其中心节制器,他回收XML定制转向的URL。回收Action来处理惩罚逻辑