文档库 最新最全的文档下载
当前位置:文档库 › 基于MVC模式的Structs框架的研究与实现

基于MVC模式的Structs框架的研究与实现

第24卷第7期甘肃科技”

vDz.24No.7

2008年4月GansuScienceandTechnologyApr.2008

基于MVC模式的Structs框架的研究与实现

张;波1”,韩’:珩2

(1.兰州交通大学光电技术与智能控制重点实验室,甘肃兰州730070;2.沈阳化工学院,.辽宁沈阳110142)、

摘要:在研究Struts框架的基础上详细探讨了Struts框架的三个主要部分之间的内在联系和采用的处理方式,并阐述了基于MVC的Web应用软件开发框架Struts的工作原理和体系结构,并通过教师论文管理系统的实例说明了Struts的基本用法。

关键词:MVC;Structs框架;论文信息管理系统

中图分类号:TP319

1’;。引言’.,

大学教育已经普及,大学教师的队伍也不断壮

大,随之而来的是教师论文数量的不断增多。如果

通过手工作业来进行论文库的管理工作,不仅工作

量大,而且容易出错,更不方便大家查阅,因此我们

需要为教师开发一套论文管理系统,以完善学校网

络信息管理系统,充分发挥校园网络的作用..

2MVC简介

MVC架构是随着SmalltalkLanguage语言的

发展提出的。MVC英文即Model—View—Con—

troller(模型一视图一控制器),即把一个应用的输

入、处理、输出流程按照Model、View、Controller的

方式进行分离。’

t‘本质上来说,MVC设计模式将应用分为以下三

个部分:.

模型:应用的核心.模型存储了一个应用所描

述的所有状态和数据。当某个部分的状态或数据发

生了重要的变化时,模型将更新所有与其相关的视

图。

控制器:呈现给用户用来进行操作的用户接口。

控制器根据用户的操作判断所要执行的业务逻辑,

关联模型和视图。

视图:用来向用户显示数据信息的用户接口。

一。“

3Struts框架结构

Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。

.。,模型通常由JavaBean或EJB组件实现,负责处理业务逻辑;,

视图包括一组JSP文件,这些文件主要由JSP标签或客户化标签构成,它简化了JSP页面的编码工作;、

.-.在Struts框架中控制器主要包括ActionServ-let类和Action类,.ActionServlet是Struts的核心部件,它接受用户的Http请求,根据配置信息将请求转发给适当的Action对象;Action类负责调用模型的方法,并帮助控制应用程序的流程;Struts包括Web’xml和Struts—confiff.xml两个配置文件,其中Web.xml是Web应用的发布描述文件,Struts一--config.xml是与Struts相关的特殊信息配置的描述文件。

4.系统的设计与实现

4.1系统功能概述,

:下面以开发Struts框架下的教师论文管理系统为例来进一步说明Struts框架。

..教师论文管理系统的主要作用是为不同用户管理论文提供方便,方便用户的查询、汇总及分析。教师论文管理系统的角色可以划分为两类:..4’系统管理员:负责管理学院、系所、教师用户和角色权限t

教师用户:发布、修改、删除、查看论文

…?这两类用户分别拥有自己的操作功能。根据操作划分模块,每一个操作模块都要实现自身的功能,并且在整个的操作流程中,负责承上启下。

4.2MVC模式详细设计

4.2.1Model设计

模型组件负责完成访问和操纵数据库,由Jay-

54甘肃,科技第24卷

aBean实现。在本系统中它包括系统库、论文库、专著库和学术库。模型层(数据库服务器:Oracle9i)的主要功能是数据库链接、生成数据集、数据库更新。

Struts框架使用模型组件的一大优点是如果模型组件的实现发生了变化,Action类不需要做任何变动j,’.一,。’

4.2..2view设计

教师论文管理信息系统视图包括教师管理论文、专著等页面和管理员管理系统、人员等页面。

数据显示:根据要求授权给控制器rCⅡ向模型[M]请求数据集,然后根据数据集显示出界面。操作结果显示:根据控制返回的数据决定显示的页面。一’例如当管理员管理系统界面接收到查询某位教师论文的命令后,把请求转到显示所有数据页面,显示满足查询条件的记录:

4.2.3Controller设计

本系统的控制层是通过校园网服务器(Inter-net/Intranet)实现对数据库更新的数据校验,它包括:系统管理:论文管理、科技专著管理、学术报告管理等。。j

控制器负责整个应用程序的流程控制,根据用户的请求类型以决定应用程序的操作,用于解释用户的鼠标和键盘输入,以通知模型或视图进行相应的更改j例如:控制器在当一个aspx页面初始化时将调用Pag—Init事件,当加载aspx页面时将调用Page_Load事件,当aspx页面从内存中被卸载时将调用Page_Unload事件。如果某个控件触发页面以使其被重新加载,则将调用ControlEvent事件。可以直接将模型角色实现在控制器调用的函数中,这种方法虽然实现了界面和代码(视图和控制器、模型)的分离,但没能实现控制器和模型的分离。根据MVC模式的思想,可以直接将与aspx文件相关联的后置代码拆分为模型和控制器,用专门的_二个类来处理数据,后置代码作为控制器仅仅负责转化用户的输入.?o:。?’

PrivateSubPage—Load(ByValsenderAsSystem.Objec:t。ByValeAsSystera.EventArgs)HandlesMyBase.Load‘

‘在此处放置初始化页的用户代码’

IfNOtIsPostBackThen

‘判断用户权限()

+.DimModulnameAsString

Modulname=”教师管理”

IfNotHasRight(Session.SessionID,Modul一。name)Then

Response.Redirect(”/hsgl/error.aspx”)EndIf卜

Try

‘’?.Binddeviceinfor().

Initdeviceinfor()

CatchexAsException

lblStatus.Text=”连接SQL数据库出现错误!<strong>”+eli.Message+”</strong>”

EndTry‘

一、EndIf‘,

EndSub一

将控制器和模型分离后,对任意模块的更改都不会引起其他模块的变更。当处理比较复杂的WebForm应用时,可以采用PageController和FrontControlle模式。

5结束语

Struts框架是一种非常优秀的基于MVC2的应用框架,广泛地运用于各种软件开发平台之中,本文对在教室论文管理信息系统中成功地运用Struts框架作了简要概述。Struts框架为程序员的程序设计提供了极大的方便,缩短了系统的开发周期。它是一个具有良好的可扩展性的框架,还能实现代码的重用,可使Web应用开发效率大大提高。

参考文献:

…’

。:4。。

[1]ErichGamma,RichardHelm,RalphJohnson等著,李英军等译.设计模式;可复用面向对象软件的基础

[M].北京:机械工业出版社,2000,9.r

[2]杨开英,刘榭.Struts框架研究与应用[J].微计算机应用,2005,26(2):158.一。[3]冀振燕.UML系统分析设计与应用案例[M].北京:人民邮电出版社,2003.6.

相关文档