ASP高级程序设计教程.ppt

上传人:za****8 文档编号:14453390 上传时间:2020-07-21 格式:PPT 页数:99 大小:1.18MB
返回 下载 相关 举报
ASP高级程序设计教程.ppt_第1页
第1页 / 共99页
ASP高级程序设计教程.ppt_第2页
第2页 / 共99页
ASP高级程序设计教程.ppt_第3页
第3页 / 共99页
点击查看更多>>
资源描述
ASP动态网页制作教程,第10章 ASP高级程序设计,本章介绍ASP高级程序设计的相关技术,主要内容包括ASP操作XML文档、在ASP中应用Ajax技术、在ASP中使用类。通过本章的学习,读者应掌握XML文档的结构并能对其进行编辑等操作,能够在ASP应用程序中使用Ajax技术完成异步操作,能够将代码封装在类中。,主要内容,10.1 ASP操作XML文档,随着Internet的迅速发展和广泛普及,XML的出现体现出了它的适用性和重要性。XML是由W3C定义的一种标记语言。由于XML是没有版权限制的,这样用户可以建立属于自己的一套软件而无须支付任何费用。,ASP应用DOM技术可以读取(包括远程读取)或存储XML数据,而且在XML文挡中数据与显示格式是分离的,从而可以方便地规定XML文档中数据的输出格式。,10.1.1 XML概述 为了弥补HTML语言不可扩展的缺点,并适应当前网站中庞大数据交换的需求,Web标准化组织万维网联合会建议并推出可扩展标记语言(eXtentsible Markup Language,XML)。,XML语言是一种精简的标准通用化标记语言(Standard Generalized Markup Language,SGML)版本,是一种提供数据描述格式的标记语言,适用于不同应用程序间的数据交换,而且这种交换不以预先定义的一组数据结构为前提,增强了可扩展性。,1XML文档的结构 XML是一套定义语义标记的规则,是可以定义其他标识语言的元标识语言。在XML文档中可以自定义标记和文档结构。,XML文档总体上包括两部分:序言和文档元素。,(1)序言 序言中包含XML声明、处理指令和注释。序言必须出现在XML文档的开始处。,(2)文档元素 XML文档中的元素是以树型分层结构排列的,元素可以嵌套在其他元素中。,2XML语法要求 创建格式正确的XML文档的语法要求如下。,(1)XML文档必须有一个顶层元素,即文档元素。 (2)元素嵌套要正确,即如果一个元素在另一个元素中开始,那么必须在同一元素中结束。,(3)每一个元素必须同时拥有起始标记和结束标记。 (4)起始标记中的元素类型名必须与相应结束标记中的名称完全匹配。,(5)元素类型名区分大小写。 (6)元素类型名称中可以包含字母、数字以及其他字母元素类型,也可以使用非英文字符。,3使用属性 在一个元素的起始标记中,可以自定义一个或者多个属性。,4注释 注释是为了便于阅读和理解,在XML文档添加的附加信息。,10.1.2 XML的3种显示格式 显示XML文档常见的有3种格式:使用CSS样式表、使用XSL样式表和使用XML数据岛技术。,1CSS样式表 在XML文档中可以使用CSS样式表显示XML文档内容。在XML文档中直接链接一个CSS样式表文件。CSS样式表中的样式名称应与XML文档中定义的元素名称相同。,语法: ,【例10-1】使用CSS样式表显示XML文档内容。,图10-1 使用CSS样式表显示XML文档内容,2XSL样式语言 可扩展样式表语言(eXtensible Stylesheet Language,XSL)语言与CSS样式表的功能类似。一个XSL样式表链接到一个XML文档可以显示XML数据。,在XML文档中应用CSS样式表只允许指定每个XML元素的格式,而XSL样式表允许对输出进行完整的控制。XSL样式表能够精确地选择想要显示的XML数据,能够按照任意顺序排列显示的数据,能够方便地修改或者添加数据。,XSL是XML的一个应用,即一个XSL样式表是一个遵守XML规则格式的正确有效的XML文档,其扩展名为.xsl。,在XML文档中使用XSL样式表的语法如下: ,【例10-2】XSL样式表显示XML文档。,图10-2 XSL样式表显示XML文档,3XML数据岛技术 XML数据岛技术可以有效地将显示格式和显示数据分离。使用XML数据岛技术的文档也是一个正确有效的XML文档。在XML文档中存放显示的数据,在HTML页面中调用该文档显示XML文档内容。,在HTML文件中链接XML文件的语法如下: ,【例10-3】应用XML数据岛技术显示XML文档内容。,图10-3 应用XML数据岛技术显示XML文档内容,10.1.3 通过DOM技术加载XML文档 文档对象模型(Document Object Model,DOM)技术主要是指利用DOM分析器通过对XML文档的分析,把整个XML文档以一棵DOM树的形式存放在内存中,应用程序可以随时对DOM树中的任何一个部分进行访问与操作,也就是说,通过DOM树,应用程序可以对XML文档进行随机访问。,在ASP中,通过创建Document对象可以对XML文档进行相关功能的操作。在IE 5.0中,包含了Microsoft XML类库,其中就包含了Document对象。,要在ASP中使用Microsoft XML,首先必须在服务器端安装IE 5.0或XML的插件,如果使用的是Windows 2000或Windows XP就不需要安装IE 5.0或XML的插件,如果使用的是Windows 98,则需安装一个IE 5.0或IE 5.0以上版本的浏览器即可运行XML文件。,在ASP中创建Document对象的基本语法为: Set newXML=Server.CreateObject(Microsoft.XMLDOM) 当对象创建完成后就可以使用其内部的函数。,ASP是通过DOM接口来访问XML文档中的任何一部分数据的。下面介绍两种访问XML文档的方法,分别为通过load方法直接加载XML文档和通过loadXML方法加载XML文档片断。,1通过load方法直接加载XML文档 通过load方法可以将指定的文件装载到当前的Document文档对象中,如果装载成功则返回“True”,否则将返回“False”。 语法: load(filename),2通过loadXML方法加载XML文档片段 通过loadXML方法可以将指定的XML字符串装载到当前的Document文档对象中,如果装载成功则返回“True”,否则返回“False”。 语法: loadXML(xmlString),10.1.4 ASP向XML文档中添加数据 通过Document对象的load方法加载XML文档,然后调用相关方法创建XML文档的子元素,可以将表单中的数据动态添加到XML文档中。,【例10-4】向XML文档中添加数据。,图10-4 向XML文档中添加数据,图10-5 XML文档中的内容,10.1.5 ASP读取XML数据 XML文档中的标记是由用户自己定义的,浏览器是不能识别的,这就使得XML文档的数据和显示格式是分离的。在ASP中,通过DOM技术可以访问XML文档中的数据,然后将其内容显示到ASP页面中。,【例10-5】读取XML数据。,图10-6 读取XML数据,10.2 在ASP中应用Ajax,10.2.1 Ajax技术概述 异步JavaScript和XML(Asynchronous JavaScript And XML,Ajax)是多种技术的综合,JavaScript、XHTML和CSS、DOM、XML和XSTL、XMLHttpRequest等技术在协作过程中按照一定的方式发挥各自的作用,从而构成了Ajax。,互联网从Web 1.0到Web 2.0的转变,可以说在模式上是从单纯的“读”、“写”向“共同建设”的发展。Web 2.0不是一个具体的事物,而是一个阶段。,在这个阶段中,是以用户为中心,主动为用户提供互联网信息。在Web 2.0中,互联网将成为一个平台,在这个平台上将实现可编程、可执行的Web应用。,Ajax是Web 2.0中非常重要的技术。Ajax是一种用于浏览器的技术,它可以在浏览器和服务器之间使用异步通信机制进行数据通信,从而允许浏览器向服务器获取少量信息而不是刷新整个页面。,10.2.2 Ajax与传统Web技术的区别 与传统的Web技术不同,Ajax采用的是异步交互处理技术。Ajax的异步处理可以将用户提交的数据在后台进行处理,这样,数据在更改时可以不用重新加载整个页面而只是刷新页面的局部。,传统Web工作模式的流程为:当客户端浏览器向服务器发出一个浏览网页的HTTP请求后,服务器接受该请求,查找所要浏览的动态网页文件,然后执行动态网页中的程序代码,并将动态网页转化成标准的静态网页,最后将生成的HTML页面返回给客户端。在这种模式下,当服务器处理数据时,用户一直处于等待状态。,Ajax的工作原理如下。 (1)客户端浏览器在运行时首先加载一个Ajax引擎(该引擎由JavaScript编写)。,(2)Ajax引擎创建一个异步调用的对象,向Web服务器发出一个HTTP请求。 (3)服务器端处理请求,并将处理结果以XML形式返回。,(4)Ajax引擎接收返回的结果,并通过JavaScript语句显示在浏览器上。,从Ajax的工作原理,可以看到Ajax的作用有以下几点。 (1)减轻服务器的负担,因为Ajax的原则是“按需取数据”。,(2)无刷新更新页面,减少用户心理和实际的等待时间。 (3)可以把以前一些服务器负担的工作转交给客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。,10.2.3 Ajax使用的技术 1JavaScript 2XML 3XMLHttpRequest 4DOM 5CSS,10.2.4 Ajax开发需要注意的几个问题 1浏览器兼容性问题 2XMLHttpRequest对象封装 3性能问题 4中文编码问题,10.2.5 实现Ajax的步骤 要实现一个Ajax异步调用和局部刷新的功能,需要以下几个步骤。,(1)创建XMLHttpRequest对象,即创建一个异步调用的对象。 (2)创建一个新的HTTP请求,并指定该请求的方法、URL以及验证信息等。,(3)设置响应HTTP请求状态变化的函数。 (4)发送HTTP请求。 (5)获取异步调用返回的数据。 (6)使用JavaScript和DOM实现局部刷新。,1创建XmlHttpRequest对象 不同的浏览器使用的异步调用对象也有所不同。在IE浏览器中异步调用使用的是XMLHTTP组件中的XMLHttpRequest对象,而在Netscape、Firefox浏览器中则直接使用XMLHttpRequest组件。因此,在不同浏览器中创建XmlHttpRequest对象的方法也不同。,(1)在IE中创建XmlHttpRequest对象 语法: var xmlHttp= new ActiveXObject(Msxml2.XMLHTTP); 或者 var xmlHttp= new ActiveXObject(Microsoft.XMLHTTP);,(2)在Netscape浏览器中创建XmlHttpRequest对象 语法: var xmlHttp = new XMLHttpRequest();,表10-1XMLHttpRequest对象的属性和方法,续表,2创建HTTP请求 创建了XMLHttpRequest对象后,必须为XMLHttpRequest对象创建HTTP请求,用于说明XMLHttpRequest对象要从何处获取数据。一般情况下可以从网站中获取数据,也可以从本地其他文件中获取数据。,通过调用XMLHttpRequest对象的Open方法可以创建HTTP请求。 语法: xmlHttp.open(String method, String url, Boolean asyn, String user, String password),表10-2open方法参数,3设置响应HTTP请求状态变化的函数 从创建XMLHttpRequest对象开始,到发送数据、接收数据,XMLHttpRequest对象一共要经历5种状态:未初始化状态、初始化状态、发送数据状态、接收数据状态和完成状态。要获取从服务器端返回的数据,就必须要先判断XMLHttpRequest对象的状态。,表10-3readystate属性,4设置获取服务器返回数据的语句 当异步调用过程完毕并且异步调用成功后,就可以通过XMLHttpRequest对象的responseText属性和ResponseXML属性来获取数据了。,也就是说,当XMLHttpRequest对象的readystate属性值为4,并且判断XMLHttpRequest对象的status属性值为200时,才能成功获取服务器返回的数据。,下面分别介绍status属性、responseText属性和responseXML属性。 (1)status属性,表10-4status属性,(2)responseText属性 (3)responseXML属性,5发送HTTP请求 创建了HTTP请求,并设置相关属性后,就可以将HTTP请求发送到Web服务器上去了。使用XmlHttpRequest对象的send()方法可以发送HTTP请求。 语法: xmlHttp.send(data),6实现局部更新 通过Ajax的异步调用获取服务器端数据后,可以使用JavaScript或DOM将网页中的数据进行局部更新。下面介绍3种更新方法。,(1)表单元素的数据更新 表单元素的数据更新是指更改表单元素的value属性值。,(2)IE浏览器标记间的文本更新 在HTML页面中,除了表单元素,还有很多其他元素。在元素的开始标记与结束标记之间往往会有文本内容。,(3)使用DOM技术更新标记间的文本 innerText属性和innerHTML属性都是IE浏览器支持的属性,而在Netscape浏览器中是不支持这两个属性的。IE浏览器和Netscape浏览器都支持DOM,在DOM中可以修改标记间的文本内容。,10.2.6 一个完整的Ajax实例 通过以上内容的介绍,读者对于应用Ajax技术的过程已有所了解。下面介绍一个完整的Ajax实例。,【例10-6】一个完整的Ajax实例。,图10-7 更新前的页面,图10-8 更新后的页面,10.3 在ASP中使用类,在ASP中不仅可以使用内置对象,还可以建立自己的对象,并为该对象定义方法和属性。要建立自己的对象,需要使用类。,10.3.1 类的定义 要定义一个类,需要使用Class关键字,语法如下: Class 类名 End Class,在ASP中,使用Set命令和New关键字来创建类的实例,语法如下: Set 类实例名称=New 类名 使用Set命令注销类的实例,语法如下: Set类实例名称=Nothing,10.3.2 定义类的方法 在ClassEnd Class之间可以定义函数和子过程,这些函数和子过程就是此类的方法。,【例10-7】定义类的方法。,图10-9 定义类的方法,10.3.3 定义类的属性 在类中可以使用Public关键字定义一个公共变量,这个公共变量即可作为类的属性。定义属性后,就可以给该属性赋值或者读取属性值。,【例10-8】定义类的属性。,图10-10 定义类的属性,小 结 本章主要介绍了如何在ASP中操控XML文档、应用Ajax技术以及使用类。读者在掌握XML文档结构的基础上,可以通过DOM技术向XML文档中添加数据、读取XML文档中的数据等。,在理解Ajax技术的前提下,明确实现Ajax的关键步骤并能灵活运用Ajax技术来实现页面的局部刷新;使用类可以将重复使用或者关键的程序代码封装起来,从而提高程序的可执行性。,上 机 指 导 10-1 创建一个有效的XML文档,用于记录公司员工信息。在ASP页面中将XML文档中的数据显示在表格中,并应用CSS样式表来规范其显示格式。,10-2 应用Ajax技术制作无刷新留言板。 10-3 定义一个类,根据指定的文件路径返回文件名。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!