基于Struts+Spring+Hibernate框架的信息交流平台的研究硕士学位论文Word格式.docx
- 文档编号:17867614
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:53
- 大小:100.24KB
基于Struts+Spring+Hibernate框架的信息交流平台的研究硕士学位论文Word格式.docx
《基于Struts+Spring+Hibernate框架的信息交流平台的研究硕士学位论文Word格式.docx》由会员分享,可在线阅读,更多相关《基于Struts+Spring+Hibernate框架的信息交流平台的研究硕士学位论文Word格式.docx(53页珍藏版)》请在冰豆网上搜索。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权XXXX大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
日期:
导师签名:
日期:
摘要
随着网络技术的迅速发展和J2EE平台的广泛应用,基于B/S的多层WEB体系结构正在不断的完善。
WEB技术的发展推动了信息化的发展,使人们能够不再受地理空间的限制与其他人进行信息的交流与共享。
而开发这样一个信息交流平台,正是本论文要着手处理的问题。
其实,就算用Java建造一个不是很烦琐的web应用程序,也不是件轻松的事情。
当为一个应用程序建造一个构架时有许多事情需要考虑。
从高层来说,开发者需要考虑:
怎样建立用户接口(userinterfaces)?
在哪里处理业务逻辑?
和怎样持久化应用数据。
这三层每一层都有它们各自的问题需要回答。
各个层次应该使用什么技术?
怎样才能把应用程序设计得松耦合和能灵活改变?
构架允许层的替换不会影响到其它层吗?
应用程序怎样处理容器级的服务(containerlevelservices),比如事务处理(transactions)?
本论文正是基于上述问题出发,以开发一个信息交流平台系统为背景,对基于MVC模式的Struts框架、Hibernate的ORM机制和对持久对象持久化的管理以及SpringIoC(控制反转)技术进行了探讨。
并整合这三种框架:
表现层使用Struts;
业务层使用Spring;
持久层使用Hibernate进行系统的开发。
最后结合具体的事例对系统的实现作了详细的说明,验证了实现方法的可行性。
关键词:
J2EEStrutsHibernateSpring模式框架
Abstract
WiththerapiddevelopmentofnetworktechnologyandthewideuseofJ2EEplatform,themultilayerwebstructurebaseonB/Shasdevelopedgradually.WEBtechnique’sdevelopmenthaspromotedthedevelopmentofinformationization,ithasmadepeoplecancommunicateandshareinformationwithoutareaandspacelimitation.However,developingsuchkindofinformationcommunicationplatformisjustthecaseinthisthesis.
Buildingnon-trivialwebapplicationswithJavaisnotrivialtask.Therearemanythingstoconsiderwhenstructuringarchitecturetohouseanapplication.Fromahigh-level,developersarefacedwithdecisionsabouthowtheyaregoingtoconstructuserinterfaces,wherethebusinesslogicwillreside,andhowtopersistapplicationdata.Eachofthesethreelayershastheirownquestionstobeanswered.Whattechnologiesshouldbeimplementedacrosseachlayer?
Howcantheapplicationbedesignedsothatitislooselycoupledandflexibletochange?
Doesthearchitectureallowlayerstobereplacedwithoutaffectingotherlayers?
Howwilltheapplicationhandlecontainerlevelservicessuchastransactions?
Thisthesisisjustbaseonthesequestions,takinganinformationcommunicationplatformsystemdevelopmentasbackground,basedonMVCarchitecture,discussedStrutsframe,Hibernator’sORMmechanism,persistentmanagementofpersistentobjectandSpringIoCtechniqueandcombiningframeworksusingthreepopularopensourceframeworks:
ForthepresentationlayerwewilluseStruts;
forourbusinesslayerwewilluseSpring;
andforourpersistencelayerwewilluseHibernatetodevelopingthissystem.Attheendofthethesis,illustratethewayofrealizingthesystembyaninstance,andvalidateitsfeasibility.
Keywords:
J2EEStrutsHibernateSpringPatternFramework
目录
摘要Ⅰ
AbstractⅡ
第一章引言1
1.1研究目的和意义1
1.2研究内容2
1.3论文的章节安排2
第二章Struts框架分析3
2.1MVC模式介绍3
2.2JSPModel14
2.3JSPModel24
2.4Struts概述5
2.5Struts核心组件6
2.6Struts的工作流程7
第三章Hibernate技术介绍9
3.1Hibernate概述9
3.2ORM介绍9
3.3Hibernate的核心接口10
3.4Hibernate的检索方式12
第四章Spring技术介绍14
4.1Spring框架概述14
4.2SpringIoC(Inversionofcontrol)16
4.3SpringAOP17
第五章ICPS系统的设计20
5.1系统简介20
5.2系统需求分析20
5.3框架设计21
5.4数据库设计24
5.5模块设计28
第六章ICPS系统的实现30
6.1域模块层的实现30
6.2持久层的实现30
6.2.1O/R映射31
6.2.2DAO数据访问接口32
6.2.3DAO数据访问实现33
6.3业务层的实现34
6.3.1业务逻辑处理类的实现35
6.3.2Spring框架的配置37
6.4表示层的实现39
6.4.1View层的实现40
6.4.2Model层的实现42
6.4.3Controller层的实现43
6.5小结46
第七章总结与展望47
7.1本文的总结与展望47
参考文献48
致谢50
第一章引言
1.1研究目的和意义
从来没有任何事物的发展像互联网那样,对人类的活动产生如此深刻的影响。
人们越来越依赖于Internet进行信息的交流与共享。
随着网络的飞速发展,信息交流平台在网络上扮演角色越来越重要了。
信息交流平台从她诞生的那一刻起就带有十分明确的个性化的人文色彩,作为一种远程电子通讯手段,信息交流平台允许一定范围内的用户以十分廉价的方式,方便快捷地进行信息和文件资源的共享,以信件和电子讨论的形式进行交流。
毫不夸张的说,信息交流平台是网民互动沟通的最佳纽带,是互联网的灵魂。
信息交流平台已成为主流网民不可缺少的一项基本生活内容。
它在新兴的电子文化、信息咨询和商业服务领域也势必蕴藏巨大的市场。
比如信息交流平台提供的信息布告区可为企业发布它的产品介绍、推广、宣传、服务等信息,能把企业的新产品快速的推向市场。
所以对信息交流平台的研究是完全有必要的。
J2EE是SunONE的重量级产品,作为一种企业级Web应用程序开发技术,J2EE是目前唯一在市场上得到了广泛应用的技术体系。
J2EE以Java为核心技术,更接近或者满足于互联网在智能化Web服务上对分布性、开放性和平台无关性的要求,同时它在安全性、健壮性、组件化等方面也更为成熟稳定,获得了众多IT厂商如IBM、Oracle、BEA等共同制定标准并提供技术支持,因此具有强大的功能,是电子商务、远程教育等开发的首选平台。
但是,即使我们用先进的J2EE来开发Web应用,也面临着许多问题需要考虑:
怎样建立用户接口(userinterfaces)?
在哪里处理业务逻辑和怎样持久化应用数据?
Struts、Spring、Hibernate这三个基于WEB应用开发的开源框架,可以为我们解决这些问题。
如何把一个WEB应用分层而整合Struts、Spring、Hibernate技术,尽可能的将页面显示、业务逻辑和数据处理相分离,最大限度地降低系统各模块之间的耦合性,从而增强系统的可扩展性与可维护性,提高代码重用率,使系统的层次结构更加清晰,易于开发人员的分工协作,充分发挥开发人员的各自特长,这是一个值得研究探讨的问题。
Struts是基于MVC模式的框架技术。
采用Struts可以简化遵循MVC设计模式的Web应用的开发工作,很好的实现代码重用,使开发人员从繁琐的工作中解脱出来,快速开发具有强可扩展性的Web应用,大大简化开发过程,缩短开发周期,提高开发效率。
Hibernate是一项新兴的ORM技术,它把普通java对象映射到关系数据库表,并提供对对象的持久化操作。
使得Java开发者能够高效地对关系数据库表进行增、删、改、查操作而不用直接面对JDBC、SQL语句,让开发人员把精力集中在如何解决实际业务处理问题上。
而借助于SpringIoC和AOP,使得应用中对象的关系更加清晰、一致,而且还使得一切对象可控。
最重要的一点是,对象本身的生命周期及对象之间的关系不用再让开发者费神了。
基于上述分析,研究实现Struts、Spring、Hibernate三个框架的整合来解决Web应用开发中所面临的上述问题,从而提高程序的开发效率,增强系统的可扩展性与可维护性,提高代码重用率将会是一个很有意义的课题。
1.2研究内容
以实现一个信息交流平台为出发点,设计了一个整合Struts、Hibernate、Spring技术的架构,把整个应用系统分为四层:
表示层,业务层,持久层,域模块层。
并分别用Struts、Hibernate、Spring实现了表示层,业务层,持久层,最终完成了本系统。
1.3论文的章节安排
第一章引言部分对本文所要研究课题的研究目的及意义作了简要的阐述,说明了课题的研究内容。
第二章介绍了MVC设计模式及基于MVC模式的Struts框架。
对Struts架构的基本工作原理、核心组件的运行机制以及其工作流程进行了阐述。
第三章介绍Hibernate技术。
主要阐述了ORM映射机制、Hibernate核心编程接口、Hibernate的检索方式。
第四章介绍Spring框架。
主要阐述了Spring框架的七个功能模块以及SpringIoC、SpringAOP。
第五章基于信息交流平台,在对其进行需求分析的基础上进行了数据库设计和模块设计,并设计了一个整合Struts、Hibernate、Spring技术的架构,对应用系统分层。
第六章利用第五章所设计的WEB应用开发架构,实现了一个信息交流平台系统。
并验证了所设计实现方法的正确性。
第七章总结及下一步展望。
第二章Struts框架分析
作为对经典的MVC(Model-View-Controller,模型-视图-控制器)设计模式的一种具体实现,Struts是建立在当前Web开发领域中JSP、Servlet、XML等相关开发技术之上的一种主流的开发架构,是一种基于MVC的经典MVC设计模式框架。
本章主要介绍了MVC设计模式、Struts架构的基本工作原理、核心组件以及Struts的工作流程。
2.1MVC模式介绍
MVC模式,即模型-视图-控制器模式,其核心思想是将整个程序代码分成相对独立的而又能协同工作的3个组成部分[1,2]。
1模型(Model):
业务逻辑层。
实现具体的业务逻辑、状态管理的功能。
2视图(View):
表示层。
即与用户实现交互的界面,是应用程序的外在表现,通常实现数据的输入和输出功能。
3控制器(Controller):
控制层。
起到控制整个业务流程(FlowControl)的作用,实现View和Model部分的协同工作。
上述三个组成部分之间的关系如图2-1所示。
图2-1MVC模式的结构
在MVC设计模式中,事件一般是指客户端Web浏览器提交的各种不同的请求,这些请求由控制器进行处理,控制器根据事件的类型来改变模型或各个视图,视图也可以接受模型发出的数据更新的通知,根据数据更新的结果调整视图效果,展示给用户。
而模型也可以通过视图所获得的用户提交的数据进行具体业务逻辑的处理。
2.2JSPModel1
在JSP技术的发展初期,由于其便于快速开发的优点,很快就成为创建Web应用的热门技术之一。
在JSP页面中可以很容易的同时实现内容的显示、业务逻辑的编写以及流程的控制,从而快速地完成应用开发。
最初很多的JavaWeb应用甚至全部由JSP页面构成,这种以JSP为中心的开发模型被称为Model1。
其具体的实现方式如图2-2所示。
图2-2JSPModel1
在JSPModel1中,JSP页面负责接收处理客户端Web浏览器发送的请求,并在处理后直接进行响应。
正是由于JSP页面本身同时充当了View和Controller两种角色,控制逻辑和表示层逻辑混杂在一起,导致代码的可重用性和可扩展性下降。
2.3JSPModel2
Model2则是MVC设计模式的一种具体实现方式,如图2-3所示。
在Model2中采用Servlet作为控制器(Controller),负责接收客户端Web浏览器发送来的所有请求,并根据处理的不同结果,转发到对应的JSP页面(View)实现在浏览器客户端的显示。
在Servlet中只包含了控制逻辑和一些简单的处理逻辑,更加复杂的业务处理逻辑则借助特定的JavaBean具体实现。
由于引入了MVC设计模式,Model2实际上是实现了基于组件的开发,在整个软件开发过程中实现了具体清晰的逻辑划分,能够有效的区分不同的角色,这就更适合于大规模系统的开发和管理。
图2-3JSPModel2
Model2实现了系统业务逻辑功能模块、显示模块和数据持久层处理模块的分离,同时还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。
2.4Struts概述
作为基于MVC设计模式的Web应用的一种典型体现,Struts架构实际上是建立在Model2基础之上的,对Model、View和Controller都提供了现成组件,其实现方式如图2-4所示。
图2-4StrutsMVC架构
从Model角度看,在Struts中,系统模型的状态主要由ActionFormBean和值对象体现。
从View角度看,Struts提供了java类org.apache.struts.action.ActionForm,Java开发者继承该类来创建表单bean。
另一方面,Struts提供了丰富的JSP标记库,View部分使用这些标记库可以实现与Model的有效交互并能增强显示。
从Controller角度看,在Struts体系机构中,Controller主要是ActionServlet,但是对于业务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。
其中,Action扮演了真正的控制逻辑的实现者,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。
2.5Struts核心组件
对于Struts如何控制、处理客户请求,让我们通过对struts的四个核心组件介绍来具体说明。
这几个组件就是:
ActionServlet,ActionClasses,ActionMapping(包括ActionForward),ActionFromBean。
◆StrutsActionServlet
ActionServlet继承自javax.servlet.http.HttpServlet类,其在Struts框架中扮演的角色是中心控制器。
它提供一个中心位置来处理全部的终端请求。
控制器ActionServlet主要负责将HTTP的客户请求信息组装后,根据配置文件的指定描述,转发到适当的处理器。
按照Servelt的标准,所有的Servlet必须在web配置文件(web.xml)中声明。
同样,ActoinServlet必须在WebApplication配置文件(web.xml)中描述。
◆StrutsActionClasses
所有的Action类都继承自org.apache.struts.action.Action,它是Struts架构中控制器组件的重要组成部分。
Action类主要负责将客户请求映射到处理这些请求的业务逻辑Bean,再转向生成响应回送给客户端的页面,实际上充当的是Controller和Model之间的一个适配器(Adaptor),其功能就是将请求与业务逻辑分开。
这样的分离,使得客户请求和Action类之间可以有多个点对点的映射。
而且Action类通常还提供了其它的辅助功能,比如:
认证(authorization)、日志(logging)和数据验证(validation)。
◆StrutsActionMapping
ActionServlet负责转发客户端请求给相应的Action对象进行处理,同时还转发了其他一些相关信息,这种请求和处理之间具体的映射关系保存在XML配置文件(默认是struts-config.xml)中。
在系统启动初始化的时候,会对这些配置信息进行处理,系统针对每个<
action>
元素都创建一个与之对应的org.apache.struts.action.ActionMapping类的实例,以供struts应用程序运行期间使用。
当ActionServlet转发请求时,ActionMapping实例被作为参数之一传给相应的Action对象的execute()方法。
◆ActionForward
Action类的execute()方法,返回值即为ActionForward类型。
ActionForward对象是一种配置对象,代表了Web资源,可以是JSP页面、Servlet以及Action。
ActionForward对象映射的是配置文件(默认是struts-config.xml)中的<
forward>
元素,封装了目标响应页面的URI。
◆StrutsActionFormBean
在Struts架构中,使用一种名为ActionForm的系统状态Bean,来实现应用系统的非持久性数据储存和维护功能。
具体来说,ActionFormBean对象主要用于保存用户请求表单中的数据,并可保持其状态的连续性,即在不同的页面间传递这些数据。
为了实现自动被填充和调用的机制,该Bean必须是StrutsAPI中定义的抽象类org.apache.struts.action.ActionForm的子类的实例。
2.6Struts的工作流程
Struts架构从接收请求到返回响应的工作流程如图2-5所示。
在应用服务启动的时候,控制器(ActionServlet)进行初始化工作,读取配置文件(默认是Struts-config.xml文件),为不同的Struts模块初始化相应的ModuleConfig对象。
比如配置文件中的Action映射定义都保存在ActionConfig集合中。
控制器接受Http请求,并从ActionConfig中找到对应于该请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面,否则控制器将请求分发至具体的Action类进行处理。
图2-5Struts请求响应流程
在控制器调用具体的Action的Execute方法之前,ActionForm对象将利用Http请求中的参数来填充自己。
Struts架构将检查UserActionForm是否存在,如果不存在,就会创建一个该类的实例。
Struts将会使用HttpServLetRequest的相应字段来设置UserActionForm的状态。
此外,还可以在ActionForm类中调用Validate方法来检查请求参数的合法性,并且可以返回一个包含所有错误信息的ActionErrors对象。
如果执行成功,ActionForm自动将这些参数信息以JavaBean(一般称之为FormBean)的方式保存在ServletContext中,这样它们就可以被其他Action对象或者JSP调用。
Action的Execute方法执行完
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Struts Spring Hibernate 框架 信息 交流平台 研究 硕士学位 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)
链接地址:https://www.bdocx.com/doc/17867614.html