基于MVC模式的Struts框架的研究与应用.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于MVC模式的Struts框架的研究与应用.pdf》由会员分享,可在线阅读,更多相关《基于MVC模式的Struts框架的研究与应用.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、http:/-1-基于基于 MVC 模式的模式的 Struts 框架的研究与应用框架的研究与应用 李梅,宋泽海 北京交通大学计算机与信息技术学院,北京(100044)E-mail:limei_ 摘摘 要:要:随着面向对象技术、Web技术和J2EE技术的发展,软件框架技术在Web开发中得到了广泛应用。Struts作为一个开源的Web层框架,是MVC及J2EE若干核心模式的标准实现,方便了代码的编写和管理,适用于大型、复杂的Web应用开发。本文首先介绍了MVC设计模式和Struts框架的工作原理,并结合一个具体实例详细述了如何利用Struts框架实现MVC设计模式,实践证明Struts框架能极大地
2、提高系统的可扩展性、可重用性及可维护性。关键词:关键词:MVC;Struts 框架;JSP;Servlet 中图分类号:中图分类号:TP3911 文献标识码:文献标识码:A 0 引言引言 如今,SUN 公司提出的 J2EE(Java 2 Enterprise Edition)平台已经日趋成熟,并得到广泛应用。J2EE 提供了一个企业级的计算模型和运行环境,用于开发和部署多层体系结构的应用。在 WEB 应用系统设计中,为了提高程序的重用性和可维护性,越来越多的开发人员采用 MVC(Model View-Controller)设计模式来分离系统的用户界面、业务逻辑及业务控制。Apache Soft
3、ware Foundation 组织提供的 Struts 框架就是MVC 设计模式的具体实现,它能够很好地将面向对象的设计和用户接口分开,从而大大方便代码的修改1。此外,Struts 框架提供了许多可供扩展和定制的地方,使得应用程序可以方便地扩展框架,更好地适应用户的实际需求2。1 MVC 设计模式概述设计模式概述 MVC 把应用程序的输入、处理、输出按照模型(Model),视图(View),控制器(Controller)的方式分成三层,图 1 揭示了三者之间的关系 图 1 MVC 设计模式 1.1 视图视图 视图能够显示相关数据而且能够接收用户的输入数据。随着新技术的不断出现,视图的组成元素
4、也在随之多样化,如XHTML,XML/XSL,WML 等一些标志语言。1.2 模型模型 模型表示业务数据和逻辑。它是应用程序的主体部分。模型对业务流程的对象进行抽象,因此一个模型能为多个视图提供数据,大大提高了应用的可重用性。1.3 控制器控制器 控制器在模型和视图之间起到了沟通的作用,它处理用户在视图上的输入,调用模型响应用户的请求,同时选择相应的视图请求(模型)响应状态查询 处理业务流程 通知视图业务状态更新(控制器)接受用户请求 调用模型响应用户请求 选择视图显示响应结果 业务处理(视图)显示模型状态 接受数据更新请求 把数据传给控制器 选择视图 通知数据更新 状态查询 http:/-2
5、-显示处理后的结果。这样模型和视图之间的耦合度就降低了,它们甚至可以彼此都不知道对方,而由控制器把这两部分连接起来。2 Struts 框架的工作原理框架的工作原理 Struts实质上就是在JSP Model2的基础上实现的一个MVC框架。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器有Acti-onServlet和Action来实现,视图则由一组JSP文件构成3。图2显示了Struts框架实现的MVC机制。图 2 Struts 实现的 MVC 框架 2.1 Controller(控制器)(控制器)控制器的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然
6、后把响应结果送回到客户端。在Struts中,基本的控制器组件是ActionServlet类中的实例servlet,而实际使用的servlet在配置文件中则由一组映射(由ActionMapping类进行描述)进行定义,每个ActionMapping对象实现了一个请求到一个具体的Model部分的Action处理器对象之间的映射,同时指定下一个将要转发的所有可能视图的路径。2.2 Model(模型)(模型)MVC 系统中的 Model 部分从概念上可以分为两类-系统的内部状态和可以改变状态的操作(事务逻辑)。内部状态通常由一组 ActionForm JavaBean 表示,它可以通过定义属性描述客户
7、端表单数据,通过ActionForm 组件对象实现了对 View 和Model 之间交互的支持。根据设计或应用程序复杂度的不同,这些 Bean 可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的 bean 调用。小型程序中,操作可能会被内嵌在 Action 类,它是 struts 框架中控制器角色的一部分。Struts框架下通常建议使用一组 JavaBean 表示系统的内部状态,根据系统的复杂度也可以使用像 Entity EJB 和 Session EJB 等组件来实现系统状态。2.3 View(
8、视图)(视图)Struts应用中的View部分是由JSP建立的。Struts提供了自定义的标记库可以使用,通过这些自定义标记可以非常好地和系统的Model部分交互,由此创建的JSP表单,可以实现和Model部分中的ActionForm的映射,完成对用户数据的封装,同时这些自定义标记还提供了像模板定制等多种显示功能。Struts应用框架的处理流程清楚的体现了MVC系统的特点。Controller ActionServlet处理客户请求,利用配置的ActionMapping对象把请求映射到Action处理器对象进行处理。Action处理对象访问ActionForm中的数据,处理和响应客户请求,它还
9、调用后台的Bean组件,这些组件封装了具体的业务逻辑。Action 处理器对象根据处理结果通知Controller,由Controller进行下一步的处理。2.4 Struts 的配置文件的配置文件 一个用户的请求是通过ActionServlet来处理和转发的。ActionServlet通过得到描述用户请求路径和Action映射的配置信息,来决定如何转发。在Struts中,这些配置信息存在特定的XML文件struts config.xml中。Web 服务器 视图 View 控制 器 模型ActionActionStruts-config.xml Servlet/JSP 容器浏 览 器 http
10、:/-3-3 应用开发应用开发 下面用一个最近做过的项目,具体介绍一下Struts的应用。该项目是为了服务某市地税局换发税务登记证而开发的系统。系统分成开业税务登记,变更税务登记,停复业税务登记,验换证税务登记证,注销税务登记等模块。以下均以变更税务登记中的变更分支机构模块为例。变更分支机构是纳税人到税务机关对其合法的企事业单位分支机构的基本信息进行修改,其中计算机代码是纳税人的标识符。3.1 Model 层的设计层的设计 根据 MVC 的分层原则,我们将业务逻辑执行分离到单独的 JavaBean 中。考虑到其重用性,对业务处理部分进行了改进,在原来 Action 的基础上增加了一个 Proc
11、essor类。在 Action 中将业务数据 BO 封装到 VO,然后利用代理模式访问后台 EJB,并将 VO传值给 Processor,接着调用 DjDBUtil 通过ORMapping 方式与数据库交互。其中与数据库相关的操作采用 DAO 模式,这样屏蔽了业务逻辑对数据库的底层访问,将数据访问封装成一个面向对象的数据抽象接口。图 3为业务处理流程:图 3 业务处理流程 以变更分支机构为例,FzjgAction:package com.ttsoft.bjtax.dj.bgdj.web;public ActionForward doSave(ActionMapping mapping,Acti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MVC 模式 Struts 框架 研究 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内