Struts开发指南之MVC架构

2016-02-19 14:14 6 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的Struts开发指南之MVC架构,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - 编程语言 】


  模型-视图-控制器(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来处理逻辑

来源:http://www.tulaoshi.com/n/20160219/1606503.html

延伸阅读
MVC介绍 MVC模式是一种非常理想化的设计模式,应用MVC模式完成两个以上项目的人都有同样的体会,他们已经对以前的工作方法进行了彻底的改造。工作模式的改变要付出痛苦的代价,但现在你有现成的技术架构可以采用,避免在项目中自己开发、摸索。它就是开源Apache Struts framework,它提供了实现MVC设计模式最好的实现工具。 ...
标签: Web开发
//C# public class Index : System.Web.UI.Page{ private void Page_Load(object sender, EventArgs e){ Ajax.Utility.RegisterTypeForAjax(typeof(Index)); //... } //... } 对RegisterTypeForAjax方法的调用在页面产生如下的javascript代码(另外一种选择,你也可以人工在页面上添加如下的javascript代码) <scrip...
标签: Web开发
AJAX依靠服务器作为中介来分发和处理请求。为了完成这项工作,.net封装类依赖于客户端的请求对象,而xmlHttpRequest对象被大部分的浏览器支持,因此使用这个对象是一个不错的解决方案。因为封装的目的是隐藏xmlHttpRequest的实现,故我们不讨论他的实现细节。 封装类是通过在.net的方法上增加AJAX属性标记来实现的,一旦被标记,AJAX创建...
标签: Web开发
[Ajax.AjaxMethod] public string Test1(string name, string email, string comment){ string html = ""; html += "Hello " + name + "<br>"; html += "Thank you for your comment <b>"; html += System.Web.HttpUtility.HtmlEncode(comment); html += "</b>."; return html; } SessionState 在服务端函数,你可能需要接受...
标签: Web开发
private void Page_Load(object sender, EventArgs e){ Utility.RegisterTypeForAjax(typeof(User)); } 在客户端我们可以通过这样的方式调用GetUser函数: <script language="javascript"> function getUser(userId){ User.GetUser(GetUser_callback); } function GetUser_callback(response){ if (response != null && resp...

经验教程

724

收藏

34
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部