资源描述:
《基于ajax的高级web应用程序开发技术研究new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于AJAX的高级Web应用程序开发技术研究- 1AJAX简介 1.1AJAX定义 异步javascript和XML(Asynchronousjavascriptand,XML,AJAX)是多种技术的综合,包括javascript,XHTML和CSS,DOM,XML和XSTL,XMLHttpRequest。其特点是:使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSTL进行数据交换与处理;使用XMLHttpRequest进行异步数据读取;最后用javascript绑定和处理所有数据。 1.2AJAX的工作原理 与传
2、统的Web应用不同,AJAX采用异步交互过程。AJAX在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理-等待-处理-等待的缺点。用户的浏览器在执行任务时即装载了AJAX引擎。AJAX引擎主要用javascript语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互。AJAX引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。现在,可以用javascript调用AJAX引擎来代替产生一个直接的HTTP请求的用户动作,内存中的数据编辑、数据校验这些不需要重新载入整个页面的需求可以交给AJAX执行。
3、AJAX最核心的理念是,传统应用中的浏览器直接与服务器交互,现在中间夹了一层Script。也就是说,原来的Browser-Server架构,现在是Browser-Ajax引擎Server。假如是纯粹的AJAX应用,浏览器只向AJAX引擎发送消息,AJAX引擎使用XmlHttpRequest向服务器发送请求,然后服务器在XmlHttpRequest的回复中带上相关消息,最后AJAX引擎分析这些消息,用HTMLDOM模型处理界面。如此,理论上可以完全消除按页刷新的需要。由于存在这样一个在后台的通信机制,原有开发Web程序时碰到的问题自然内部迎刃而解。最重要的是,
4、使用了AJAX框架不会与原有开发模型相冲突,如果处理得当AJAX的优势将显而易见,加上兼容性,一定会使它有机会在Web领域中占一席之地。 1.3AJAX的优点 与传统的Web服务相比,AJAX具有明显的优势:减轻了服务器的负担。因为AJAX的根本理念是“按需取数据”,所以最大可能在减少了冗余请求和响应对服务器造成的负担;非整页地刷新、更新页面,减少用户实际和心理等待时间;更好的用户体验;也可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,节约空间和带宽租用成本;可以异步调用外部数据;其是基于标准化的并被
5、广泛支持的技术,并且不需要插件或下载小程序;AJAX使Web中的界面与应用分离,也可以说是数据与呈现分离;对于用户和ISP来说是双赢的。 2AJAX技术的高级应用研究 2.1AJAX语言对象面向的javascript 由定义来看,javascript是典型的AJAX语言。不同于Java,javascript并不强调OO风格的编码。然而,javascript居然全面支持所有OO语言的主要属性,即封装、继承和多态性。 数据类型:在Java中,一个类定义了一个数据及与它相关行为的组合。尽管javascript保留了class关键字,但是它不支持与常
6、规OOP语言一样的语义。在javascript中,对象是用函数来定义的。事实上,通过在下面的示例中定义一个函数,就定义了一个简单的空类Calculator: functionCalculator(){} 一个新实例的创建与在Java中相同使用new操作符: varmyCalculator=newCalculator(); 上面函数不仅定义一个类,而且还担当一个构造器。在此,操作符new实现了实例化一个类Calculator的对象,并且返回一个对象参考而不是只调用该函数。 创建这样的空类在实际中并没有多大用处。下面,使用一个Java-脚本原型结构填充
7、类定义。javascript使用原型当作创建对象的模板。所有的原型属性和方法都被参考引用复制到一个类的每个对象中,所以它们都具有相同的值。使用者可以改变一个对象中原型属性的值,并且该新值会覆盖从原型中复制过来的缺省值,但是这仅对于在一个实例中。下列语句将把一个新属性添加到Calculator对象的原型上: Calculator.prototype._prop=0; 既然javascript并没有提供一个方法来从句法上表示一个类定义,故将使用with语句来标记该类的定义边界。这也将使得示例代码更为短小,因为该with语句被允许在一个指定对象上执行一系列的语
8、句而不需要限制属性。 functionCalcul