Struts开发指南之MVC架构

原创 2004年06月27日 07:59:00

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

1、模型(Model)

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

  2、视图(View)

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

  3、控制器(controller)

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

r_o_9151311.jpg

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

r_o_9151622.gif
  JSP Model 1

r_o_9151833.gif
  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来处理逻辑

Struts MVC 框架 (让你一步步成为高手)

web应用的分层 交互层,表现数据,收集数据,也就是视图层,接受请求,通过处理层完成相应的响应。(V,C) 处理层,完成数据的处理,也就是业务层(M)。 MVC设计模式(应用观察者...
  • lidongya1181
  • lidongya1181
  • 2016年07月01日 08:42
  • 4993

spring struts2 mybatis框架学习总结(mvc三层架构)

spring struts2 mybatis框架学习总结(mvc三层架构) ssi的框架主要是由struts2,spring以及ibatis组成,他们负责各层之间的交互与协作,从而实现整...
  • u014242496
  • u014242496
  • 2016年02月06日 14:06
  • 3247

Java Web中选择Struts2,Spring等框架的分析

前言:       在公司从C++转向Java Web方向大概有3个月(11月初-1月底)了。三个月前对Java和Web还几乎是零基础。然后从安装Eclipse,MySQL,tomcat开始,到学习...
  • inter_peng
  • inter_peng
  • 2015年01月30日 14:46
  • 5951

Struts开发指南之MVC架构.doc

  • 2012年05月08日 10:48
  • 155KB
  • 下载

Struts 2权威指南:基于WebWork核心的MVC开发

转自:http://blog.csdn.net/Aragorn_177/article/details/2905902 3.5  Struts 2的基本配置 前面大致了解了Struts 2框架的基...
  • MZONE2020
  • MZONE2020
  • 2012年03月29日 21:20
  • 521

Struts 2权威指南:基于WebWork核心的MVC开发

转自:http://blog.csdn.net/Mr_Von/article/details/3020629 1.2  Struts 2的起源和背景 Struts 2以WebWork优秀的...
  • MZONE2020
  • MZONE2020
  • 2012年03月29日 21:21
  • 648

Struts2+Spring+MyBatis环境整合开发案例(MVC架构)

最近公司一个项目开发环境要求Struts2+Spring+MyBatis 框架,之前都是用Struts2+Spring+Hibernate 的。个人觉得MyBatis和Hibernate的最大区别,就...
  • u012131769
  • u012131769
  • 2015年06月06日 18:52
  • 3362

Struts2+Spring+MyBatis环境整合开发案例(MVC架构)

最近公司一个项目开发环境要求Struts2+Spring+MyBatis 框架,之前都是用Struts2+Spring+Hibernate 的。个人觉得MyBatis和Hibernate的最大区别,就...
  • bwh0520
  • bwh0520
  • 2017年12月12日 22:36
  • 44

Struts+2权威指南--基于WebWork核心的MVC开发(完整版)

  • 2008年09月06日 13:36
  • 20MB
  • 下载

Struts+2权威指南--基于WebWork核心的MVC开发(完整版)

  • 2008年09月06日 13:35
  • 20MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts开发指南之MVC架构
举报原因:
原因补充:

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