收藏 分销(赏)

基于Hibernate与Struts框架的物流管理系统研究.doc

上传人:二*** 文档编号:4639280 上传时间:2024-10-08 格式:DOC 页数:4 大小:62KB
下载 相关 举报
基于Hibernate与Struts框架的物流管理系统研究.doc_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、摘要:基于使用单一框架构建企业级应用时存在拓展性差,结构复杂的问题,给出使用Struts结合Hibernate开源框架进行整合开发的实例,同时探讨如何配置和灵活应用Struts和Hibernate框架,充分发挥两者的优势,构建结构清晰、具备强大扩展性和维护性的J2EE应用。关键字:Hibernate Struts MVC J2EEAbstract:To solve the problems such as poor expansibility and difficult work division in building Web application,there is a bestpract

2、ice of how to combine and deploy Hibernate Struts framework.The combination of using them could construct a standardJ2EE Web application and also improve the development efficiency greatly.Key words:Hibernate,Struts,MVC,J2EE1 Hibernate的数据持久化技术Hibernate是一个开放源代码的O/R Mapping(对象关系映射架构),它对JDBC进行了轻量级的对象封装

3、,使JAVA程序员可以方便地使用对象编程思维来操纵数据库。Hibernate的目标是简化开发者通常的数据持久化编程任务,它可以把对象模型表示的对象映射到关系型数据库中,同时提供了数据查询和获取的方法,以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。通过使用Hibernate可以轻松解决开发者在使用传统的CMP以及JDBC和DAO(Date Access Object)技术开发持久层时遇到的困难,即很难把关系表记录完整地映射到持久对象的关系上来,主要体现在多表的关系无法直接映射到对持久对象的映射上来。2基于MVC模式的Web框架Struts的应用2.1 Struts的框架结构Strut

4、s是基于模型(Model)、视图(View)、控制器(Controller)的MVC模式应用架构,MVC减弱了业务逻辑接口和数据接口之间的耦合,常被用来帮助开发者控制设计变化。在Struts框架中,Model代表的是应用的业务逻辑,通过JavaBean、EJB组件实现;View是应用的表示层,由JSP页面产生;Controller是提供应用的处理过程控制,一般是Servlet。通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现,组件之间可以进行交互和重用。这种组件化的优点更易于实现对大规模系统的开发和管理。2.2应用Struts的作用及优势Struts清晰地划分了控制部分,事物逻

5、辑和外观视图,让开发者遵循一个统一的模式进行设计编码,简化了系统后期维护的工作量,尤其是当其他开发者接受项目的时候,这种优势体现的更加明显。Struts给开发者提供了良好的页面导航功能,开发者可以通过配置文件struts-config.xml把握整个系统得体系结构,同时,Struts对Taglib标签库进行了扩展,使之功能更为强大。使用Taglib可以简化JSP页面的开发,使得JSP包含最少的代码,同时也使开发者可以更方便灵活地在Struts中控制程序的流程。3 Ejb在开发中的作用EJB在EJB容器中运行,运行时环境由服务器建立。虽然EJB容器对开发还不是透明的,但其为运行其中的EJB提供项

6、事务处理等的系统级服务。这些服务可以快速的建立和部署企EJB,而这些EJB正是构成和新业务处理的J2EE应用。EJB就是一个应用中封装了商务逻辑的服务器端组件。这些商务逻辑是实现应用程序目标的代码。EJB分为两种类型:SessionBean和EntityBean。SessionBean表现连接到J2EE服务器的一个单独的客户端。客户端通过调用会话Bean的方法来访问部署在服务器上的应用程序。会话Bean完成客户端的请求,从而对客户端隐藏了服务器内复杂商务逻辑的执行过程。EntityBean描述一个持久存储备的商业对象。商业对象的例子如:消费者,订单和产品等。在J2EE SDK中持久存储设备是一

7、个关系型数据库。最典型的情况是一个EntityBean有一个在底层数据库中与之相对应的表,而EntityBean的每一个实例对应表中的一行数据。Entity EJB使得程序员对二维关系数据库的存取对象化了,程序员可以使用Set或者Get等面向对象的方法来操纵关系数据库的数据。4用Struts实现逻辑控制下图是系统与AppServer关系图系统通过Struts实现了Web层MVC,通过Web层代理访问EJB层,客户端提交数据以后封装在DTO进行传输,数据传输到Severlet后通过DAO接口转换到模块层。DAO中主要实现一些堆数据的方法。模块层中主要由EJB构成,EJB又封装了Hibernate

8、,在Hibernate中实现对数据库的具体操作。DTO把多个数据封装成一个对象提交,提高了传输效率。DAO接口减少了数据之间的耦合性,整个系统如上图所示是由各个模块组成,在修改某个后,其他模块不需要改动。Struts实质上就是在JSP Model的基础上实现的一个MVC框架。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由ActionServlet和Action来实现。4.1视图视图由一组JSP文件构成。JSP文件中没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或客户化标签。4.2模型模型表示应用程序的状态和业务逻辑。对于大型应用,业

9、务逻辑通常由JavaBean或EJB组件来实现。4.3控制器控制器由ActionServlet类和Action类来实现。ActionServlet类是Struts框架中的核心组件。ActionServlet主要负责接收HTTP请求信息,根据配置文件strutsconfig.xml的配置信息,把请求转发给适当的Action对象。如果该Action对象不存在,ActionServlet会先创建这个Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。当ActionServlet控制器收到用户请求后,把请求转发到一个Ac-tion实例。如果这个实例不存在,控制

10、器会首先创建它,然后调用这个Action实例的execute()方法。Action的execute()方法返回ActionForward对象,封装了把用户请求再转发给其它Web组件的信息。用户定义自己的Action类,即Action基类的子类时,必须覆盖execute()方法。在Action基类中该方法返回null。4.4 Struts的工作流程对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化ActionServlet,ActionServlet从strutsconfig.xml文件中读取配置信息,把它们存放到各种配置对象中。当Ac-tionServlet接收到一个客户

11、请求时,将执行如下流程:(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效的信息。(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。(3)根据配置信息决定是否需要表单验证。如果需要验证,就调用ActionForm的validate()方法。(4)如果Actionform的validate()返回null或返回一个不包含ActionMessage的ActionForm对象,就表示表单验证成功。(5)ActionServlet根据ActionMapping实例包含的映射信息决

12、定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法。(6)Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件。(7)ActionForward对象指向的JSP组件生成动态网页,返回给客户。对于流程4)如果ActionForm的validate()方法返回一个包含一个或多个ActionMessage的ActionErrors对象,就表示表单验证失败,此时ActionServlet将直接把请求转发给你好用户

13、提交表单的JSP组件,在这种情况下,不会再创建Action对象并调用Action的execute()方法。5搭建数据库系统5.1登陆数据库在win2000服务中启动监听服务,打开数据库,连接身份选择sysdba用户名:system密码:manager5.2导入数据库第一步:imp file=D:ocean.dmp from user=jiaxueming to user=ocean第二步:用户名设置为ocean(新建数据库的用户名)密码自己定义。5.3 Weblogic配置第一步:登陆:http:/localhost:7001/console/Id:system Pwd:12345678第二步

14、:JDBC-connctionType-数据库名-数据库驱动-oraclesDriver(thin)第三步:Data SourcesJndiName:oceanoceanclasseshibernate.cfg.xml第四步:修改C:beause_projectsdomainsmydomainstartWeblogic.cmd的path路径就可以在IE中运行http:/localhost:7001/OceanWebApp Facade访问底层的EntityBean。通过项目的实现可以得出以下几点结论:1)因为Hibernate是开源的,具有丰富的文档支持,而且对持久层进行了封装,不用程序员去写

15、SQL代码,因此采用Hibernate进行数据持久层的设计能够完整地对多表间的关系进行影射,所以能够极大地提高数据访问的效率,改善系统性能;2)同时借用Struts架构可以搭建一个更成熟的符合MVC规范的J2EE架构,而且使数据的安全性在原有数据库安全性的基础上得到进一步的提高。参考文献1宋秀琴,侯殿昆。基于Struts和Hibernate的Web应用的构建。J微计算机信息,2005,11-32夏昕,曹晓钢。深入浅出HIBERNATEM。北京:电子工业出版社,20053孙卫琴。精通STRUTS:基于MVC的Java Web设计与开发M,北京:电子工业出版社,2004。4TURNER J,BED

16、ELLK.STRUTS Kick Start中文版M。孙勇译。北京:电子工业出版社,2004。本文由无忧论文网物流管理论文发表中心独家提供资源,如有雷同,纯属盗版。欢迎各位光临获取更多有用资料。无忧论文网:英语论文网:http:/www.51lunwen.org教育论文网:医学论文网第一论文网英国论文网http:/www.ukthesis.org留学作业网http:/www.ukassignment.org留学论文网留学生论文网留学论文公司http:/www.ukessay.org上海论文网:http:/www.shlunwen.org会计论文发表网http:/www.ukessay.org核心论文发表网:http:/www.51fabiao.org古玩网http:/www.china-中国元素网http:/www.china-蜂朝网蜂朝商务网蜂朝百科蜂朝教育导航收集一些比较经典的论文发表网站与教育资料网供大家多多交流哦。无忧论文网QQ:357500023 发表:15221741752 QQ:869156324

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服