基于DWR框架快速开发AJAX应用程序.doc_第1页
基于DWR框架快速开发AJAX应用程序.doc_第2页
基于DWR框架快速开发AJAX应用程序.doc_第3页
基于DWR框架快速开发AJAX应用程序.doc_第4页
基于DWR框架快速开发AJAX应用程序.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于DWR框架快速开发AJAX应用程序摘要:ajax,一个异步javascript和xml的缩略词,是当今快速发展的web开发界中十分热门的技术。本文首先分析了传统web技术目前所遇到的一些问题,然后介绍了ajax的基本概念、相关技术和优点,最后介绍如何利用一个ajax框架(dwr)快速构造一个ajax应用程序。关键词:ajax1 概述近年来随着internet的迅速发展,基于各种技术的网络应用程序广泛应用于人们的生活中。b/s架构由于零部署,易升级,操作简单等巨大优势,迅速成为企业应用软件系统架构的主流。然而在过去几年中,人们在服务器端的开发投入了大量的精力,各种成熟的开发框架以及开发技术的不断出现,使得web应用程序在性能等方面有了很大的提高。然而web用户界面对响应灵敏方面却投入不足。在传统的web应用采用同步交互过程中,用户首先向http服务器发送一个请求。然后服务器执行某些任务,再向发出请求的用户返回一个html页面。这是一种不连贯的用户体验,服务器在处理请求的时候,用户多数时间处于等待的状态。当软件设计越来越讲究人性化的时候,这种用户体验简直与这种原则背道而驰。随着ajax技术的出现,使得web应用可以为用户提供更加自然、灵敏的浏览体验。2 ajax技术体系2.1 ajax的相关概念ajax这个概念的最早提出者jesse james garrett认为:ajax是asynchronous javascript and xml(异步javascript和xml)的缩写1。其中异步意味着你可以经由http协议向一个服务器发出请求并且在等待该响应时继续处理另外的数据。ajax并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合,在共同的协作中发挥各自的作用。它包括以下技术:javascript、xhtml和css、dom、xml和xslt、xmlhttprequest。其中:使用xhtml和css标准化呈现,使用dom实现动态显示和交互,使用xml和xslt进行数据交换与处理,使用xmlhttprequest对象同服务器进行异步数据读取,最后用javascript绑定和处理所有数据2。下图1为ajax web应用模型。2.2 ajax的交互过程与传统的web应用不同,ajax采用异步交互过程,使用户从请求/响应的循环中解脱出来。ajax的工作原理相当于在用户和服务器之间加了中间层即ajax引擎,使用户操作与服务器响应异步化。从而消除了网络交互过程中的处理等待处理缺点。用户的浏览器在执行任务时即装载了ajax引擎。ajax引擎,实际上是一个比较复杂的javascript应用程序,它负责编译用户界面及与服务器之间的交互。ajax引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。现在可以用javascript调用ajax引擎来代替产生一个http的用户动作,内存中的数据编辑、页面导航、数据校验这些不需要重新载入整个页面的需求可以交给ajax来执行3。ajax实质上也是遵循request/server模式,所以基本上的流程是:对象初始化,发送请求,服务器接收,服务器返回,客户端接收,修改客户端页面内容。只不过这个过程是异步的,下图2为ajax异步交互过程。2.3 ajax技术的优点ajax的出现,揭开了无刷新更新页面时代的序幕,实现了web浏览器技术中大量的尚未实现的潜力。ajax尤其适用于交互较多,频繁读数据,数据分类良好的web应用。它在应用中主要具有以下优点:ajax的原则是“按需取数据”,所以减少了冗余数据请求和响应对服务器造成的负担。无刷新更新页面,减少用户实际和心理等待时间。ajax使web中的界面与应用分离,这样有利于页面的开发和维护。使用ajax可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,节约空间和带宽租用成本。ajax具有更好的用户体验,也可以调用外部数据。基于标准化的并被广泛支持和技术,并且不需要插件或下载小程序。3 结合dwr开发ajax程序3.1 dwr基本概念dwr(direct web remoting)项目是apache的一个开源的解决方案,它包含服务器端java库、一个dwr servlet以及javascript库。dwr是一个引擎,可以把服务器端java对象的方法公开给javascript代码。使用dwr可以有效地从应用程序代码中把ajax的全部请求-响应循环消除掉。这意味着客户端代码再也不需要直接处理xmlhttprequest对象或者服务器的响应,不再需要编写对象的序列化代码或者使用第三方工具才能把对象变成xml,甚至不再需要编写servlet代码把ajax请求调整成对java对象的调用。dwr是作为web应用程序中的servlet部署的。这个servlet有两个主要作用:首先,对于公开的每个类,dwr动态地生成包含在web页面中的javascript。生成的javascript 包含存根函数,代表java类上的对应方法,并在幕后执行xmlhttprequest。这些请求被发送给dwr,这时它的第二个作用就是把请求翻译成服务器端java对象上的方法调用并把方法的返回值放在servlet响应中发送回客户端,编码成javascript。dwr允许迅速而简单地创建到服务器端对象的ajax接口,而不需要编写任何servlet 代码、对象序列化代码或客户端xmlhttprequest代码。这种从java到javascript调用机制类似于常规的rpc机制,或rmi或者soap.但是它运行在web上,不需要任何浏览器插件4。3.2 基于dwr的ajax开发这里以在智能小区信息平台中实现的部分ajax为例,介绍基于dwr的ajax开发全过程。本例中,用户可以通过无刷新的页面在不同时间段对不同的能耗类别进行查询和使用量统计。该例中包含了两个主要的类分别是energy.java和energyaccount.java。其中energy.java类是一个有着属性和getter/setter方法的简单的java类。energyaccount.java是数据访问类,用来查询数据库并基于用户的搜索标准来返回信息。首先设置dwr的使用:将dwr的jar文件拷入web应用的web-inf/lib目录中,在web.xml中增加一个servlet声明,并创建dwr的配置文件。dwr的分发中需要使用一个单独的jar文件。你必须将dwr servlet加到应用的web-inf/web.xml中部署描述段中去。dwr-invoker dwr servletdirect web remoter servletuk.ltd.getahead.dwr.dwrservlet debugtruedwr-invoker/dwr/*然后你必须让dwr知道通过xmlhttprequest对象,什么对象将会接收请求。这个任务由叫做dwr.xml的配置文件来完成。在配置文件中,定义了dwr允许你从网页中调用的对象。从设计上讲,dwr允许访问所有公布类的公共方法,但在我们的例子中,我们只允许访问几个方法。下面是我们示例的配置文件:dwr.xml 文档的根元素是dwr。在这个元素内是allow元素,它指定dwr进行远程的类。allow的两个子元素是create和convert。create元素告诉dwr应当公开给ajax请求的服务器端类,并定义dwr应当如何获得要进行远程的类的实例。这里的creator属性被设置为值new,这意味着dwr应当调用类的默认构造函数来获得实例。convert则负责这些方法的参数和返回类型。convert元素的作用是告诉dwr在服务器端java对象表示和序列化的javascript之间如何转换数据类型。配置完成后,你就可以启动你的web应用了,这时dwr会为从你的html或jsp上调用所需方法作好准备,并不需要你创建javascript文件。在energystatistic.jsp文件中,我们必须增加由dwr提供的javascript接口,还有dwr引擎,加入以下到我们的代码中:在energystatistic.jsp文件中创建了一个javascript函数:其中energyaccount.countenergy ()函数是dwr动态地生成包含在web页面中的javascript。中display()函数,它指明了当接收到服务端的返回时dwr将会调用的javascript方法。display于是被调用来在html页面中显示统计结果。下面是在这个交互场景中所使用到的javascript函数:function count() $(“resulttable”).style.display = none;var energyclass = document.getelementbyid(“energyclass”).value;var year = document.getelementbyid(“year”).value;energyaccount.countenergy (display, energyclass, year);function display (data) document.getelementbyid(“month”).innerhtml = data;4 结语本文系统的介绍了ajax技术体系,并展示了如何利用dwr框架开发ajax应用程序。通过ajax技术,能够大幅度提高web应用的性能,用户的体验可以得到大幅提升。然而尽管ajax技术已经取得了极大进展,但它在对移动设备的支持上、流媒体的支持上、ajax引擎的兼容性上仍有待进一步研究。ajax是一个快速发展的领域,不断涌现的新技术必将快速推动web应用的发展。参考文献:1brett mclaughlin,introduction to ajax eb/ol,/developerworks/xml/library/wa-ajaxintro1.html,2005.2jim ley,using the xml http request object eb/ol,/2002/4httpreq

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论