JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--JSP技术--STRUTS  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
Struts中的MVC
作者:     文章来源:
访问次数:354次     加入时间:2007年03月23日
  大家都知道,Struts是基于MVC模式的Web应用框架。Struts的优点之一就是将Web应用分成控制,模型和视图。模型中仅包含业务逻辑,视图中仅包含了显示逻辑。当我经过3次基于Struts开发web应用之后,对这一点有了一点感性的认识。

一、模型与视图的独立
  所谓模型与视图的独立。实际上,就是要求我们在开发过程中,应该将模型组件和与视图有关的组件(一般是一些javabean)放在两个不同的包里。并且这两个包应该相互之间没有任何依赖关系。具体地讲就是这两个包相互都不能有导入。在视图组件这个包中除了包含javabean(通常用作DTO使用,将数据传向jsp),还应该包含一些键值的常量。因为DTO都是要存放在request范围里的,需要定义一些键值。由于这些键值是与视图密切相关的,所以不能够到处乱放,而是一定要放在视图组件包内。而模型组件包在开发过程中,你要完全抛开Struts和jsp,就当这些完全不存在,这样开发出来的模型组件即使将来换一个界面(例如:Swing)时,就可以很容易的重用。

二、控制的独立
  首先,控制部分是由Struts软件提供的。Struts软件当然无法与你开发的视图和模型有依赖关系,因为Struts在开发的时候,你的模型和视图还没有开发出来呢。Strutst提供了Action这个父类,相当于提供了一个接口,所有具体的执行细节都由Action扩展类来实现。这样Struts框架将控制和控制的内容进行类分离,保证了控制与控制的内容(模型和视图)的独立性。 当然,你在开发模型和视图部分时也不要依赖控制部分,即,不要在你的软件包中导入org.apache.struts包及其子包中的类。只有这样才能真正保持MVC之间的独立性。

三、扩展Action类
  前两点主要都在谈独立性。但是,一旦讲到扩展Action类,可以说所有的依赖关系都发生在这里。大家都知道,Action扩展类,负责调用模型和选择视图,那么当你在开发这些Action扩展类的时候,就需要导入模型组件包和视图组件包。也有是说Action依赖模型和视图。由于Action扩展类还有继承Action自类。Action类是控制的一部分,因为它位于org.apache.struts.action包中。所以Action扩展类还依赖控制组件。这样看来,Action扩展类仿佛是Struts这个框架中胶水,它依赖模型、视图和控制部分的组件,MVC这三个部分都是通过它来紧密联系在一起的。

四、总结
  Struts框架强调MVC的独立,所以在开发时,视图组件、模型组件最好放在一个单独的包中,Action扩展类也放在一个单独的包里。Struts软件包、模型组件包和视图组件包应该相互隔离,彼此没有导入关系。而Action扩展类却依赖所有这三者。Action扩展类仿佛是胶水将MVC联系到了一起。

JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号