admin 管理员组文章数量: 1184232
2024年3月28日发(作者:redis怎么导出db)
第2l卷第2期
四川职业技术学院学报
2011年4月
v01.21 No.2
Journal of SichtmaVocational andTechnical College
Apt.2011
DWR Spring Hibernate框架应用研究
唐权,田绍军
(四川职业技术学院,四川遂宁629000)
摘要: 实现DWII.SpringHibernate框架的整合,DwR用于客户端与服务器端数据交换,iHbernate框架实现数据访问与数
据持久化,Spring整合DWK与Hibernate构建服务层,一种新的基于Aja】(的Web应用程序设计架构,- ̄o JavaEEWeb程序设计
提供了优秀的解决方案.
关键词:DWII.;Spring;Hibernate;架整合
中图分类号:TP393.09 文献标识码:A 文章编号:1672—2O94(2O11)02-0120-03
1引言
Ajax(Asynchronous JavaScript AndⅫL)即异步
JavaScript与 L,在浏览器与服务器之间实现异步Http
数据传输m,以更快、更强、更好的交互性应用于Web应用程
序.使用Ajax技术,用户可在不刷新网页的情况下,快速实
现客户端与服务器端的数据交互,给用户带来与桌面应用程
序一样体验.目前许多公司与开源社区,基于Ajax技术开发
了大量的Ajax程序库,大大简化了Ajax的Script的编码
图1 DSH架构图
工作.DWR(Direct Web Remoting)是一个Ajax开源框架,用
2.2 DSH架构的工作原理
于改善web页面与Java类交互的远程服务器端的RPC(Re-
DWR框架实现浏览器与Web服务器交互,在客户端的
moteProcedureCal1)[2],帮助开发人员方便的使用Ajax技 JavaScript代码通过DWR框架调用服务器端的对象方法[2],
术开发Web应用程序.其主要的特点就是它可以允许在浏览 向服务端的发送信息并接收返回信息,对页面信息进行更
器Script的代码使用运行在Web服务器上的JAVA函数,就 换,无需页面刷新,实现Ajax相关技术.
像调用本地的一样,是一种以Java为核心的解决方法.DWR
在服务器端应用Spring框架,把服务层的Java类配置
与JavaEE轻量级框架Spring、Hibernate的整合成为一个 成Bean,构成服务端口,供DWR框架调用;服务层注入业务
非常优秀的程序架构,功能相得益彰,应用于JavaEE技术的 逻辑层的Bean,实现对业务类方法的调用;业务逻辑层注入
AjaxWeb应用程序的开发.在本文中把这种架构简称为DSH
数据访问层的Bean,实现业务逻辑数据访问;在数据访问层
(DWR Spring Hibernate)架构.
. .¨ ;
Spring与Hibernate进行整合.
~
2 DSH架构
_____lf●-●●
浆
Hibernate是一个开源的对象关系映射(
-_-_r}-__L-r L_-●L‘r rf』
0RM)框架嘲,通
2.1 DSH架构组成
过对JDBC的封装,把关系数据库表与Java类的对象进行映
DSH架构由DWR、Spring、Hibernate三个框架组成。在
射,编程人员可以轻松地应用面向对象数据访问方式,实现
B/S(Browser/Server)应用程序开发中应用多层架构模型,
数据访问,操纵关系数据库.
从服务器端底层到客户端包括数据持久层、数据访问层、业 在DSH框架中把DWR框架、Spring框架、Hibernate框
务逻辑层、服务层、表示层.把DWR、Spring、Hibernate框架
架有机的整合起来,共同完成Web应用程序的开发,发挥每
引入到多层架构程序设计中,各个层次分别应用不同的框架
个框架的优秀性能,实现基于Ajax的JavaEE应用程序快速
实现,极大的提高应用程序的开发效率和系统的稳定性,有
开发.
助于开发团队协调一致、进行高效的程序开发.DSH架构图
3 DWR结构及工作原理
如图1.
3.1 DWK结构
收稿日期:2011-03-05
基金项目:四川省教育厅科研基金项目“高校科研管理网络化应用平台开发研究”(1OZC102).
作者简介:唐权(1971-),男,四川遂宁人,四川职业技术学院计算机科学系讲师,硕士研究生。研究方向:软件技术与理论。
田绍军(1975一),男,四川遂宁人,四川职业技术学院档案馆员。
・120・
唐权,田绍军 DWR Spring Hibernate框架应用研究
DwrServlet接收到客户端的请求,如何与服务器端的
thlnl J|l、list,『I1【
ilillCtion callII
I
类对象交互,这种映射关系是靠dwr.xml的配置来实现的.
首先在WEB-INF文件夹下建立dwr.xml文件,并对其进行配
、Ja、 、ice gel ̄li “¨ ) K
置.dwr.xml的配置主要包括三部分内容的配置:<init>标
签的配置,在扩展DWR自身时才需要;<allow>标签配置,必
须对其进行配置,否则不能执行任何功能.<signatures>标
签,当DWR不能设定所需全部参数时需要对其设置.
(3)<al low>元素配置
j
:
- :
}
I)n R
!
I III1c{f( TI‘Iislii{i¥{‘iala1
‘jlltrill1CIIl;ctElcnieiuld(“d|、”
1
pdbh ̄cItls cr、ic'c
,:
i Iihlic、n【1、g 0c{sl¨”g{}:
rClllt]“llello、、Ol㈦ ’
innclI¨ II daia:
:
4
,
一 :
在dwr.xml配置中最重要的配置元素是<allow>,只有
t
¨clII1 l1 rlt{’
图2 D ̄TR.结构图
如上图所示,在DWR体系结构中包括三个主要的部分:
其一是Web服务器中的Java类向外提供服务;其二是浏览
器端的JavaScript脚本语言使用服务端的服务;其三就是
DWR框架给交互双方提供一种方便快捷的通道,实现客户端
与服务器端的交互.在DWR结构体系中,首先由一个
JavaScript发起请求,在浏览器端的JavaScript包括两个
函数,一个是主调函数如图2中的call()函数,另一个回调
函数如图2中的display 0函数.主调函数执行一段位于本
地JavaScript对象的方法,通过DWR框架远程调用服务器
端Java对象的方法.在执行JavaScript对象的方法时,方
法参数对应回调函数的名称,表明服务器端的返回结果会被
该函数接收并处理,如图2中的display.回调函数的参数
对应一个数据对象,用来接收服务器端的返回结果,并在回
调函数中对其进行处理或显示,如图2中的data其中就是
存放的返回值“Hel lo world”.
3.2 DwR工作原理
通过DWR结构的分析,DWR的工作原理是:客户端代码
调用Js对象的方法;远程对象的本地代表使用DWR客户端
的代码来执行远程对象的方法;DWR采用自身的协议,向远
程的DWRServlet发送请求;DWRServlet接受请求,调用一
个实例化特定对象的方法;方法完成并向DWRServlet返回
执行结果;DWRServlet采用自身的协议接受并组装返回的
数据;响应返回到客户端代码并调用特定的回调函数;执行
回调函数在客户端显示返回结果.
3.3 DWK在项目中应用配置
DWR框架的核心就是dwr.jar包,里面包含了框架的代
码与支持类.要在项目中应用DWR框架必须首先把dwr.jar
复制到项目的1ib目录中.接下来做下面配置工作.
(1)web.xml中的配置
在项目的配置文件web.xml中把DwrServlet配成
Servlet,其中<Servlet-name>配置为dwr—invoker,
<Servlet—class> 配置为 org.directwebremoting.
servlet.DwrServlet,<url—pattern)配置为/dwr/*.表示
在客户端的/dwr/*的rul访问模式请求会被转到
DwrServlet执行.
(2)dwr.xml配置
对其正确定的配置,DWR框架才能够正常的运行.<allow>下
第一个元素为<create creator=”…”javascript=”…”
scope=”…,,>.creator属性表示采用什么创建器,其取值设
为new就表示可以访问远程任何类型的bean,值设为
spring就通过spring框架访问bean等;javascript属性
表示客户端代码中交互对象的名称;scope是可选的表示编
程时所处理的范围,默认是page.元素<paramname=”…”
value=”…”>是<create>的子元素.如果创建器为,,new”,
则name属性的值为“class”,value的属性值为对应服务
类.如果创建器为”spring”,则nsJile属性值为’%eanName”,
value的值为spring框架中对应的bean.<authmethod=
role= ’>对服务类中的方法进行授权.<exclude method= ’
>禁止创建器使用的方法列表.<include method= ,>允许访
问的方法列表.通过这对元素实现对远程类的方法实现细致
管理.<convert>元素实现Js数据类型与服务器端数据类
型的转换.
(4)客户端
在客户端的页面文件的头部必须加入
<script type= text/javascript src= dwr/engine.
js >
</script>
<script type= text/javascript src= dwr/util.
js >
</script>
<script type= text/javascript src= dwr/inter-
face/*.js >
</script>
其中util.js提供了DWR的工具方法,engine.js提供
了客户与服务器交互细节的方法,}.js与dwr.xml的
Javasript属性值对应,通过该js对象实现与远程服务器
的类对象的访问.
同时在客户端采用主调函数通过本地的JavaScript对
象访问远程的服务对象,再把结果返给回调函数.
4 DSH框架的整合与应用
Spring框架与Hibernate框架是轻量级JavaEE架构
中的主流技术.通过Spring与Hibernate整合,构建服务
层、业务逻辑层、数据访问层等远程服务器端应用模块,使
JavaEE应用程序良好稳定性、高效性、健壮性、可扩展性、易
于维护的等.DWR是实现Ajax技术的框架,以其良好的交互
・ 】21 ・
第2l卷第2期 四川职业技术学院学报
2011年4月
va1.21 No.2
Journal of Sichuan Vocational and Technical College
Ap ̄2011
性,用户友好性来构建表示层.把DWR与Spring、Hibernate
整合可达到近乎完美的效果,提供的一种的新的JavaEE企
业级解决方案,整合框架如图1.
要实现DWR与Spring、Hibernate整合的技术关键点
就是在DWR与Spring的框架整合上,主要体现在dwr.nl
豁 *
捌硼磁鼙髓配
配置中,也就是把服务器端的Spring配置的Bean通过
豢鸫葱
dwr.xml配置成客户JavaScript对象,供客户端调用.例如
}0 廖 牲辑
粤 鬻
柱 罂 砖
在服务器端的服务层的一个类myService通过Spring依赖
辫错
注入方式配置成了一个bean其name为serviceBean,要在
客户端调用服务器myService的方法,就通过dwr.xml配置
图3 DWK应用
成客户端的js对象.其配置要点如下: 5总结
较为全面地对DWR框架进行了分析与研究,并把DWR与
<create creator=”spring”javascript=’'myService’ 、
Spring、Hibernate框架进行有机整合,应用于JavaEE的项
<paramname=’ ̄eanName”value=”serviceBean”、
目开发中,实现基于Ajax应用程序的开发.
</create>
参考文献:
这样客户端就可以通过myService.js对象方法来调用
[1]Paul J.Deitel Harvey.Ajax,RIA与Web开发程序员教程[M].周
serviceBean的方法,从而调用 myService的方法.采用DSH
雯译.北京:电子工业出版社,2010.
框架的整合原理与方法应用于四川职业技术学院的科研项
[2]FrankW.Zammentti.DWR实战[圳.龚波译.北京:人民邮电出版
目管理系统的开发中,实现Ajax技术的Web应用程序,构建
社,2009.
起良好的应用平台.应用效果如图3.
[3]郑阿奇.JavaEE实用教程[M].北京:电子工业出版社,2009.
Research on Architecture of DWR Spring Hibernate
TANG Quan
(SichuanVocati0na1 andTechnical College,Suining Sichuan,629000)
Abstract:DWR Spring Hibernate framework is integrated to a new Architecture.DWR has been used for data exchange between the
client and server.Hibernate framework is used for data access and data persistence.Spring is integrated with Hibernate and DWR to
build service layer.Itprovidesanexcellent solutionforapplicationofWebbasedonAjax.
Keywords:DWR;Spring;Hibernate:Framework Integration
责任编辑:张隆辉
・ 122 ・
版权声明:本文标题:DWR Spring Hibernate框架应用研究 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1711627802a602535.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论