版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,中科院计算所职业培训中心,杨少波,DWR框架技术,DWR 框 架 技 术,在本讲中您能了解如下知识点 为什么要提出DWR框架 DWR的工作原理及各种组件 DWR的主要组成部分及职责 应用DWR的主要开发过程,1、使用AJAX技术时的实现难度 (1)使用AJAX时,要求开发者必须要对各种前台技术非常了解,(2)详细学习Ajax 时的“低级”编码并不是那么容易 由于不同的浏览器是以稍微不同的方式实现 XMLHttpRequest对象。同一浏览器(例如 IE)的不同版本z在实现该对象的方式上也不同。 另外对于不同的浏览器和版本对JavaScript的支持也是不同的,因此也给我们的应用开发增加了复杂
2、度。,这对于一个普通的Java程序员来说,这种要求是有点过分了!,因此,如何使普通的Java程序员快速进行基于AJAX的开发呢,那么就要求我们使用一些AJAX框架,来屏蔽各种前台技术。,(4)特别是类似于跨浏览器的DOM编程实现的兼容性问题,这将会导致在编码和调试Javascript代码上面花费很多时间,这显然对开发者来说很不合算的。,(3)XML 请求和响应在客户端浏览器和服务器后端之间传输的标准化问题 由于缺乏关于数据应该如何通过 XML 请求和响应在浏览器代码和服务器后端之间传输的标准化,因而事情更加复杂-目前只利用DOM,但DOM解析比较复杂!,我们如何避免出现这样的问题?,(5)直接
3、使用XmlHttpRequest对象创建异步请求也是比较麻烦的,我们的JavaScript代码不仅冗长,而且还必须考虑客户端所可能的各种版本的浏览器、以及如何获得服务器端的返回结果。,设置回调,识别状态等,错误处理等,目前在Java平台中比较好的AJAX框架,应该属DWR(Direct Web Remoting)框架。,2、Direct Web Remoting(DWR)框架,(2)它可以允许在JavaScript中直接访问服务器端的JavaBean组件(也就是业务组件)中的方法。,(1)DWR(直接Web远程控制)项目是在Apache许可下的一个开源的AJAX技术的解决方案,(3)使用DWR
4、非常像传统的RPC机制但客户端的为JavaScript 由于在DWR中采用了一种“新方法”来动态生成基于JAVA类的JavaScript代码,这样WEB开发人员就可以在JavaScript里使用Java代码-就像它们是浏览器的本地代码(客户端代码)一样。,3、DWR的工作原理说明,(1)右图展示了 DWR 是如何简化 Ajax 编程 基于Java类(可以为各种JavaBean)动态地生成JavaScript代码,我们需要在页面中包含这些函数库,我们需要在Web应用中部署该组件,(2)DWR的工作原理 由于JavaBean对象被远程化了-将服务器端的某个JavaBean组件(可以为业务组件或者业
5、务实体组件)转换为JavaScript中对象,所以该数据是自动变得对运行在客户机浏览器上的 JavaScript 代码可用。 但在幕后,DWR则自己通过向浏览器提供的 XMLHttpRequest 对象向其自己的运行在应用服务器上的后台组件发出异步调用。,(3)DWR 是一个引擎以帮助我们简化对AJAX技术的应用 DWR是一种AJAX(Asynchronous JavaScript and XML)的JAVA实现,它提供了一种能在Web浏览器端采用JavaScript语言直接调用后台业务商业组件的解决方案。 同时能够动态生成JavaScript代码和隐藏http协议的细节。,4、应用DWR技术
6、所带来的主要优点,(1)DWR通过JavaScript直接调用远程组件可以减少应用AJAX 的Web开发的时间 这特别对于那些需要和用户频繁交互的Web应用程序-DWR使得浏览器不用刷新页面就可以从远程Web服务器取得用户需的数据(本质为AJAX技术) 这种无刷新页面的交互方式大大提高Web页面的响应时间。 (2)具有良好的浏览器的兼容性 DWR采用浏览器端的纯JavaScript实现并提供了良好的兼容性 并且会自动根据浏览器类型采用最高效率的远程组件调用机制。,(3)减少了在页面中的JavaScript脚本代码的数量。,5、DWR 中两个标准的组件 (1)一个是运行在用户浏览器上的 Java
7、Script 库(如utils.js 和 engine.js等,6、主要的JavaScript库(*.js文件) (1)engine.js和util.js,(2)另一个则是运行在应用服务器上的Servlet组件 注意:不同版本的DWR,该Servlet是不同的。 DWR1.1版:uk.ltd.getahead.dwr.DWRServlet DWR2.0版:org.directwebremoting.servlet.DwrServlet,(2)在JavaScript中使用DWR的JavaScript 库的方法,7、DWR 的实现机制及各个组件的职责 (1)DWR主要组成部分,我们需要在页面中包含
8、这些函数库,(2)DWR前台引擎(Engine.js)的主要职责 截取每个后台组件的请求实现客户端的统一入口,将用于组件调用的JS参数对象重新包装组合; 检测客户端浏览器的环境并选择最佳的数据提交方案,处理后台执行结果并通过执行回调函数通知客户,(3)后台控制器(DWRServet)的主要职责 完成DWR的初始化和DWR的配置参数文件的加载,以达到对后台业务组件调用的服务器端的统一入口。 实现对客户端的各种不同类型的请求(如JS文件和业务调用请求)的分发 最后再实现输出后端组件执行的结果(JavaScript语句)到客户端浏览器,(4)业务组件执行器的主要职责 根据配置文件的参数确定后台组件的
9、访问规则和生命周期 拆包由前台页面中的JavaScript所传入的参数并且包装后端服务器组件的执行结果 按参数类型匹配数据类型转换器,并采用反射机制执行业务组件的对应方法以处理客户端的请求 处理与其他系统的接口和协作 如:Spring Hibernate等,(5)数据类型转换器的主要职责 将一系列单个的参数转换成对应的Java对象(JavaScript-Java) 将Java对象转换成JavaScript对象 (JavaJavaScript),8、DWR的开发过程-详细过程请见文档中的说明 (1)下载和安装 DWR的系统包,(2)将DWR的系统包的dwr.jar放到Web应用中的lib目录,(3)在Web应用的web.xml中部署其uk.ltd.g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流运输安全与质量管理指南(标准版)
- 云南昭通市第一中学2026-2027学年高二上学期第一次检测政治试卷(含答案)
- 2026年医院感染培训总计划范本
- 慢性呼吸衰竭家庭氧疗护理个案分享
- 医学课件管状绒毛状腺瘤内的原位腺癌疾病防治指南解读
- 成人解压方法
- 2026年精制茶行业创新技术报告
- 2026年集群通信系统智能化创新案例报告
- 中国慢性乙型肝炎防治指南(2026年版)
- 自身免疫性肝炎总结2026
- 老年人认知障碍预防干预技术标准
- 2026年湖南中医药高等专科学校高职单招笔试职业技能测验试题库含答案解析3套试卷
- 2025年中国养老地产行业市场研究报告:CCRC与居家养老
- 2026-2027学年人教版八年级上学期数学第一次月考模拟测试抢分卷(含答案)
- 成本实操-有色金属矿采选成本核算SOP
- 教师五年专业发展目标达成情况个人总结
- 2025国家义务教育质量监测小学四年级语文试题
- 《全国校园心理危机分级识别专业技术指导原则(试行)》
- 雨课堂学堂云在线《人工智能原理》单元测试考核答案
- 2025年4月自考03450公共部门人力资源管理试题
- 农村房屋协议转让协议书
评论
0/150
提交评论