服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

struts开发指南之mvc架构


  模型-视图-控制器(mvc)是80年代smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。



  1、模型(model)

  模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.

  2、视图(view)

  视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。

  3、控制器(controller)

  控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。

struts开发指南之mvc架构(图一)

  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,但是它的应用用并不尽如人意

struts开发指南之mvc架构(图二)
  jsp model 1

struts开发指南之mvc架构(图三)
  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来处理逻辑

扫描关注微信公众号