欢迎来到天天文库
浏览记录
ID:34435331
大小:194.36 KB
页数:3页
时间:2019-03-06
《工程造价系统设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机科学2007V01.34№.1oB基于StⅡ.uts+Hibernate框架的工程造价系统设计与实现*)DesignandReaIizationofEn百neeringCostSystemBasedonmchitectureofStrutsandHibemate张海波董槐林郭世可(厦门大学软件学院厦门361005)AbstradAtpresenthowtoprogr锄efficientlyhasbecomeaveryimponantquestionfordiscussiorLInthispaper,StrutsandHibematearediscussedindeta
2、il,andanefficientwayisbroughtforthtodevelopapowerfulandfle)(ibleengineeringc。stsyst哪byexpatiatingthedesignandreahzeationofthesystembasedonarchitectureofStrutsandHibemat己KeywordsFraHlework,Persistent1ayer,Reuse,O/Rmapping,Designpattem1引言随着互联网技术的迅猛发展和Web信息系统的广泛应用,如何高效地开发web应用软件已成为一个重要的话题,而基于
3、框架的程序的开发正是解决这一问题的有效手段。在各种框架中,有两个开源框架在当今使用非常普遍,它们是Struts和Hi—bernate。Struts用于实现MVC架构的网络应用程序框架,在它的基础上用户通过添加自己的功能代码即可完成Web应用程序的编写[1J。Hibernate则用于将关系数据库中的数据表与Java类通过XML产生映射,从而将对数据库的操作转化为对Java类对象的操作。2Struts构架传统的web应用中基本上都是将逻辑处理,数据处理和页面显示等大部分功能都放在JSP网页上。这样造成的后果显而易见,各种不同功能的程序代码混杂在一起,降低了代码的可读性,同时给软
4、件的维护带来了不小的麻烦。Struts框架是基于MVC的框架,它具有MVC结构的诸多优点。MVC把应用程序分成了3个层次:模型,视图和控制器,如图1所示。在视图层中,只存在与用户进行交互的页面和FormBean。其他逻辑代码不在视图层中进行显示;控制器接受用户的输入并调用模型和视图去完成用户需求。在Struts中控制器由ActionServelet类和Action类来实现;模型层包括数据的模型定义,数据封装。采用Struts框架进行Web开发,有效地将页面与业务逻辑分开,提高系统的安全性,同时也提高了程序的灵活性和复用性[2]。该框架是由多个相互独立的部分所组成的,能根据我
5、们的实际需要定制各种组件,如数据库的连接组件,各种图形的生成等。非常重要的一点是,使用该框架进行开发可以使我们将主要的精力放在业务逻辑的开发上。图1Struts结构图3Hibernate构架Hibernate框架是通过XML技术将数据库中的数据表和字段与Java类和属性对应起来,通过操作Java类对象,达到操作数据库的目的,如图2所示。Hibernate框架使我们从JDBC编码中解脱出来,将精力投入到真正有价值的工作中去。同时,Hibernate提供了内置的数据库连接池支持等。这些优化机制的综合使用大大提升了系统性能。更重要的是,这些机制都是全透明的,我们无需关心其中的复杂
6、的实现细节就可以享用其所带来的性能提升。另外,Hibernate提供了对各种数据库的支持,只要修*)基金项目:由国家985二期信息创新平台项目资助(0000—x07204)。张海波硕士研究生,主要研究方向:软件工程,模式识别;萤槐林教授,硕士生导师,主要研究方向:软件工程,数值分析;郭世可硕士研究生,主要研究方向:图像处理。。230。改配置文件,即可实现不同数据库之间的迁移‘3I。图2Hibernate结构图4Struts+Hibernate当今衡量一个软件的质量和系统的好坏主要是性能、可维护和可移植性。在web应用程序中也是如此。现在运用MVC的设计模式的Struts架构
7、在总体上实现了对逻辑层,显示层和控制层的分离,增加了系统的灵活性,可复用性,易维护性[4]。但是它也有一定的不足之处,它没有对复杂的持久层的支持,也就是说当数据要存人数据库时Struts没有做相应的处理。还是和传统的开发一样要直接通过JDBC、QL与数据库交互。但是Hibernate就可以弥补Struts框架的不足。Hibernate对数据库的访问进行了封装。这样我们在程序里几乎看不见SQL语句,从而使程序的可维护性和移植性有了很大的提高。我们将这两个框架结合起来使用,系统开发将会效率更高,开发的系统的层次更加清晰
此文档下载收益归作者所有