预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

http://www.paper.edu.cn 基于MVC模式的Struts框架的研究与应用 李梅,宋泽海 北京交通大学计算机与信息技术学院,北京(100044) E-mail:limei_183@163.com 摘要:随着面向对象技术、Web技术和J2EE技术的发展,软件框架技术在Web开发中得到 了广泛应用。Struts作为一个开源的Web层框架,是MVC及J2EE若干核心模式的标准实现, 方便了代码的编写和管理,适用于大型、复杂的Web应用开发。本文首先介绍了MVC设计 模式和Struts框架的工作原理,并结合一个具体实例详细述了如何利用Struts框架实现MVC 设计模式,实践证明Struts框架能极大地提高系统的可扩展性、可重用性及可维护性。 关键词:MVC;Struts框架;JSP;Servlet 中图分类号:TP3911文献标识码:A 选择视图(控制器)业务处理 0引言接受用户请求 调用模型响应用户请求 如今,SUN公司提出的J2EE(Java2 选择视图显示响应结果 EnterpriseEdition)平台已经日趋成熟,并 得到广泛应用。J2EE提供了一个企业级的请求 计算模型和运行环境,用于开发和部署多层(视图)状态查询(模型) 体系结构的应用。在WEB应用系统设计中,显示模型状态响应状态查询 接受数据更新请求处理业务流程 为了提高程序的重用性和可维护性,越来越 把数据传给控制器通知视图业务状 多的开发人员采用MVC(Model–View-通知数据更新态更新 Controller)设计模式来分离系统的用户界图1MVC设计模式 面、业务逻辑及业务控制。ApacheSoftware 1.1视图 Foundation组织提供的Struts框架就是 MVC设计模式的具体实现,它能够很好地视图能够显示相关数据而且能够接收 将面向对象的设计和用户接口分开,从而大用户的输入数据。随着新技术的不断出现, 大方便代码的修改[1]。此外,Struts框架提视图的组成元素也在随之多样化,如 供了许多可供扩展和定制的地方,使得应用XHTML,XML/XSL,WML等一些标志语 程序可以方便地扩展框架,更好地适应用户言。 的实际需求[2]。 1.2模型 1MVC设计模式概述模型表示业务数据和逻辑。它是应用程 MVC把应用程序的输入、处理、输出序的主体部分。模型对业务流程的对象进行 按照模型(Model),视图(View),控制器抽象,因此一个模型能为多个视图提供数 (Controller)的方式分成三层,图1揭示了据,大大提高了应用的可重用性。 三者之间的关系 1.3控制器 控制器在模型和视图之间起到了沟通 的作用,它处理用户在视图上的输入,调用 模型响应用户的请求,同时选择相应的视图 -1- http://www.paper.edu.cn 显示处理后的结果。这样模型和视图之间的定义属性描述客户端表单数据,通过 耦合度就降低了,它们甚至可以彼此都不知ActionForm组件对象实现了对View和 道对方,而由控制器把这两部分连接起来。Model之间交互的支持。根据设计或应用程 序复杂度的不同,这些Bean可以是自包含 2Struts框架的工作原理的并具有持续的状态,或只在需要时才获得 Struts实质上就是在JSPModel2的基础数据(从某个数据库)。大型应用程序通常 上实现的一个MVC框架。在Struts框架中,在方法内部封装事务逻辑(操作),这些方 模型由实现业务逻辑的JavaBean或EJB组件法可以被拥有状态信息的bean调用。小型 构成,控制器有Acti-程序中,操作可能会被内嵌在Action类,它 onServlet和Action来实现,视图则由一组JSP是struts框架中控制器角色的一部分。Struts 文件构成[3]。图2显示了Struts框架实现的框架下通常建议使用一组JavaBean表示系 MVC机制。统的内部状态,根据系统的复杂度也可以使 用像EntityEJB和SessionEJB等组件来实 Servlet/JSPStruts-现系统状态。 容器config.xml 2.3View(视图) Action 模 控制Struts应用中的View部分是由JSP建立 器型的。Struts提供了自定义的标记库可以使用, 浏WebAction通过这些自定义标记可以非常好地和系统 览服务器 的Model部分交互,由此创建的JSP表单,可 器视图 View以实现和Model部分中的ActionForm的映 射,完成对用户数据的封装,同时这些自 图2Struts实现的MVC框架定义标记还提供了像模板定制等多种显示 2.1Controller(控制器)功能。Struts应用框架的处理流程清楚的