ASP完整教~学教材(完全ASP编程~).doc

上传人:小** 文档编号:2081072 上传时间:2019-04-18 格式:DOC 页数:92 大小:317KB
下载 相关 举报
ASP完整教~学教材(完全ASP编程~).doc_第1页
第1页 / 共92页
ASP完整教~学教材(完全ASP编程~).doc_第2页
第2页 / 共92页
ASP完整教~学教材(完全ASP编程~).doc_第3页
第3页 / 共92页
ASP完整教~学教材(完全ASP编程~).doc_第4页
第4页 / 共92页
ASP完整教~学教材(完全ASP编程~).doc_第5页
第5页 / 共92页
点击查看更多>>
资源描述

1、#*Active Server Pages 教程二零零零年二月二日#*目 录第一章 引言.3第二章 简介.8第三章 ASP 基础13第四章 脚本基础19第五章 脚本变量、函数、过程和条件语句22第六章 脚本循环语句27第七章 内建 Request 对象.30第八章 内建 Reponse 对象36第九章 内建对象 Application 和 Session42第十章 Global.asa 文件的使用及 Chat 程序48第十一章 内建对象 Server53第十二章 数据库查询语言(1) .57第十三章 数据库查询语言(2) .62第十四章 ActiveX 组件.66第十五章 常用的 ASP Ac

2、tiveX 组件.70第十六章 其它的 ASP 常用组件.75第十七章 ADO 存取数据库时如何分页显示.81第十八章 堵住 ASP 漏洞.87第十九章 最新的 ASP、IIS 安全漏洞.91#*第一章 引言您的网站是否仍一如既往地保持“静态”?目前呈几何增长的互联网网站中,有相当一部分仍固守“静态” ,无形中已大大落后于时代的步伐。所谓“静态”指的就是网站的网页内容“固定不变” ,当用户浏览器通过互联网的 HTTP(Hypertext Transport Pr otocol)协议向 WEB 服务器请求提供网页内容时,服务器仅仅是将原已设计好的静态 HTML 文档传送给用户浏览器。其页面的内容

3、使用的仅仅是标准的 HTML 代码,最多再加上流行的GIF89A 格式的动态图片,比如产生几只小狗小猫跑来跑去的动画效果。若网站维护者要更新网页的内容,就必须手动地来更新其所有的 HTML 文档。“静态”网站的致命弱点就是不易维护,为了不断更新网页内容,你必须不断地重复制作 HTML 文档,随着网站内容和信息量的日益扩增,你就会感到工作量大得出乎想象。你不禁要问:那么什么是动态网站呢?这就是本文将重点讲述的核心,所谓“动态” ,并不是指那几个放在网页上的 GIF 动态图片,在这里笔者为动态页面的概念制定了以下几条规则:1、 “交互性”即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客

4、户端界面,这将是今后 WEB 发展的大事所趋。2、 “自动更新”即无须手动地更新 HTML 文档,便会自动生成新的页面,可以大大节省工作量。3、 “因时因人而变” ,即当不同的时间、不同的人访问同一网址时会产生不同的页面,是不是很酷?现在你已经对“动态”网站有了一个基本的概念,接下来应挑选称手的“兵刃”了。将网站“动态”化的方法很多,这要看你是出于何种需求。如果你是个人网站的维护者,使用的是免费主页空间,那么绝大多数情况下你只能使用 Java、Java Script 和最新的 DHTML 技术,如果你的主页空间提供者能给予你 CGI 权限或 ASP 支持,那么你将能非常幸运地发挥真正的动态技术

5、。关于 CGI 和 ASP 技术将在后面的着重讨论,这里针对个人网站仅就最新的 DHTML 技术进行重点介绍。究竟什么是 DHTML?它与传统的 HTML 有什么不同?DHTML 就是当网页从 WEB 服务器下载后无须再经过服务器的处理,而在浏览器中直接动态地更新网页的内容、排版样式、动画。比如,当鼠标移至文章段落中,段落能够变成蓝色,或者当你点击一个超链后会自动生成一个下拉式的子超链目录。这就是 Dynamic #*HTML(动态 HTML) ,它是近年来网络飞速发展进程中最振奋人心也是最具实用性的创新之一。它是一种通过各种技术的综合发展而得以实现的概念,这些技术包括 Java Script

6、 , VB0Script, Document Object Model (文件目标模块),Layers 和 Cascading Style Sheets ( CSS 样式表) 等。非常遗憾的是在网景 Netscape 和微软 IE 浏览器几番大战后,我们仍没有得到一个对DHTML 支持的统一标准。因此本文在介绍 DHTML 时不得不分别讲述。让我们先来看看 Microsoft IE 4 对 DHTML 的支持:1 .动态内容(Dynamic Content):动态地更新网页的内容,可“动态“地随时插入、修改、或删除网页的元件,譬如文字、标记等。2 .动态排版样式(Dynamic Styles

7、Sheets):通过 W3C 的“Cascading Style Sheets”(串联式排版样式,简称 CSS1 或 CSS) ,提供了设定 HTML标记的字体大小、字型、粗细、字型样式、行高度、文字颜色、加底线或加中间横线、与边缘距离、靠左右或置中、缩排、背景图片或颜色等排版功能。而“动态排版样式” ,可以“动态”地随时地改变排版样式。3 .动态定位(Dynamic Positioning ):通过 W 3 C 的“Working Draft on Positioning HTML with Cascading Style Sheets”,提供 HTML 元件在X、Y、Z 轴的定位功能,让设

8、计者可以放置影像、控件、文字等在网页上的任何位置上。而放置在不同的 Z 轴上,设计者就可以产生重叠的效果。4 .内建资料处理(Data Awareness):无须复杂的程序,无须花费服务器太多资源,即可让网页设计者即时处理文档。5 .内建多媒体支援:IE 4.0 结合 CSS 与内建的 ActiveX Controls,提供多媒体支持的功能,包括转换特效、滤镜特效、路径控制、顺序控制、动画、制图、播放声音和影像等多媒体功能。让我们再来看看 Netscape Communicator 4.0 对 DHTML 所提供的支持:1 .动态排版样式(Dynamic Styles Sheets):支援 W

9、 3 C 的“Cascading Style Sheets”(串联式排版样式,简称 CSS1 或 CSS) 、和自创的“Java Script Style Sheets”。2 .Dynamic Layers:提供图文定位、改变图文重叠顺序、控制隐藏或显示图文、移动图文的功能,让您设计出“动画”的效果!3 .Dynamic Fonts:提供由服务器下载字型的功能。可见虽然 IE 4.0 和 Netscape Communicator 4.0 都提供了“Dynamic HTML”的支持,但是事实上两者除了对“Cascading Style Sheets”的规格相近外,其余都相差甚远。因此当你设计

10、DHTML 页面时必须充分考虑到兼容性的问题,选择称手的“兵刃”和方法对于设计者来说始终是最重要的。有关 DHTML 的使用方法和设计技巧作者将在第二章动态网页设计十八般武艺中仔细讲解,请密切关注。或许对于一个个人网站来说充分运用 DHTML 技术足以令网页栩栩如#*生,动感十足。然而对于建立商业网站的企业而言,仅仅拥有 DHTML 是远远不够的。因为仅仅发生在客户浏览器端的动态效果是无法满足商业网站大量信息查询,客户咨询,资源交互等“动态”需求的。因此作为商业网站的设计者,必须要设计出更具实用性和交互性的“动态”网站。由于绝大多数商业网站都具有大量的数据和信息,而建网的初衷也就是在于方便客户

11、查询企业资料,方便同客户的交流,及时获得信息反馈。那么,就必然会面临如何让使用者在浏览器界面中,通过互联网或内联网(Intranet)查询 WEB 数据库的资料,甚至输入、更新和删除 WEB 服务器上的资料。下面笔者就简单介绍几种常用的“动态”网站设计方法:1、 CGI(Common Gateway Interface)通用网关接口的传统方式,当用户在浏览器端填好表单(form)要求输入的资料,提出 HTTP 请求后,WEB 服务器端将执行一个表单所设定的可执行的 CGI 应用程序,CGI 程序分析表单(form)中所输入的资料,存取 WEB 数据库,将查询执行的结果以 HTML 的格式返回给

12、浏览器。使用CGI 方式存取 WEB 数据库,有很多的缺点,譬如不易开发、变更修改成本高、功能有限、不易侦错、执行速度慢等,而且由于并非整合于 HTML文档之中,因此必须使用与 HTML 完全不同的设计过程来设计一个可执行的应用程序。2、 IDC(Internet Database Connector )互联网数据库连接头是 Windows NT Server 内含 Internet Information Server(简称 IIS)2.0 的特征之一,它提供了一种使你的互联网数据库内容得以发布并可与用户交互的方法,它实际上是一个包含于 IIS 中的 I S A P I 应用程序。你只需掌握

13、 HTML 和 SQL 的基本知识并写为数不多的代码就能编出具有交互能力的数据库应用程序,让使用者在浏览器界面中得以查询、输入、更新、和删除 WEB 服务器上的数据资料。正如 VB 程序员所喜欢的那样,构成 IDC 应用程序的文件是解释性的,由于设计简易,只要准备两个档案,即可在用户端的浏览器中存取 WEB 服务器的数据资料,且无须编译,因此具有快速的开发循环和反馈。但这种简单性的代价是牺牲了许多灵活性,使你不得不放弃许多对用户接口的控制,并几乎放弃了所有验证数据的能力。因而 I D C 仅适用于简单的 WEB 应用程序。3、 ActiveX Data Object(ADO )是 WEB 数据

14、库应用的最佳选择。ActiveX Data Object(简称 ADO)究竟是什么呢?ActiveX Data Object的技术,让您可以与 Active Server Pages(简称 ASP)结合以建立提供数据资讯的网页内容,只需在网页面中执行 Structured Query Language(结构化查询语言,简称 SQL)指令,让用户在浏览器界面中输入、更新、和删除WEB 服务器上的数据资料。当用户端的浏览器填好表单所要求输入的资料并按下“Submit”按钮后,经过互联网、内联网传送 HTTP 请求到 WEB 服务器,该请求在 WEB 服务器执行一个表单所指定的 Active Ser

15、ver Pages 程#*序(后缀名为. ASP 的文档) 。一个. ASP 文档是一个纯文字档,包括:HTML 标记(tags) 、VBScript 或 JScript 语言的程序代码、ASP 语法、和结构化查询语言 SQL 指令。IIS3.0 / 4.0 WEB 服务器执行. ASP 文档,通过ODBC 驱动程式,连接到支持 ODBC 的数据库上,执行 ASP 文档所指定的 SQL 指令,最后将执行的结果以 HTML 的格式传送给用户浏览器。ADO 具有容易使用、开发执行快速、消耗系统资源较少,和占用磁盘空间小等优点。以上就是目前设计商业网站常用的“动态”技术,由于本人的工作和使用经验,笔

16、者较倾向于 ADO 和 ASP 的结合,从长远来看这对搭档也势必成为今后一段时间内“动态”WEB 的核心技术。因此在本文第二章动态网页设计十八般武艺中,笔者将就 ADO 和 ASP 的使用进行展开讲述,敬请期待。 第二章 简介看了引言后,你是否已经急不可待地想构建属于你自己的动态网站?本文将以 Active Server Pages 为中心,向你全面展示制作动态商业网站的步骤和技巧。上一章给大家简要介绍了建立动态网站的一些方法和制作工具,本章将以如何建立基于 IIS 的 ASP 动态网站为中心向大家一步一步地揭示动态商业网站设计的真正奥秘。为了使各位能够全面、细致地掌握 ASP 的开发技巧,本

17、文今后将采取连载的形式,手把手地教你如何建立属于自己 ASP 动态网站。由于本文是作者根据自己的学习和实践经验并结合了一些外文资料而写成的,因此不免会有一些偏颇,希望各位见谅。如发现本文有何不当之处,请及时通知作者,谢谢。Microsoft Active Server Pages 即我们所称的 ASP ,其实是一套微软开发的服务器端脚本环境, ASP 内含于 IIS 3.0 和 4.0 之中 , 通过 ASP 我们可以结合 HTML 网页、 ASP 指令和 ActiveX 元件建立动态、交互且高效的 WEB 服务器应用程序。有了 ASP 你就不必担心客户的浏览器是否能运行你所编写的代码,因为所

18、有的程序都将在服务器端执行,包括所有嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。 以下罗列了 Active Server Pages 所独具的一些特点:1. 使用 VBScript、JScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成网站的应用程序。 #*2. 无须编译,容易编写,可在服务器端直接执行。 3. 使用普通的文本编辑器,如 Windows 的记事本,即可进行编辑设计。 4. 与浏览器无关 (Browser Independence), 用户端只要使用可执行 H

19、TML 码的浏览器,即可浏览 Active Server Pages 所设计的网页内容。 Active Server Pages 所使用的脚本语言 (VBScript 、 Jscript) 均在 WEB 服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。 5.Active Server Pages 能与任何 ActiveX scripting 语言相容。除了可使用 VBScript 或 JScript 语言来设计外,还通过 plug-in 的方式,使用由第三方所提供的其他脚本语言,譬如 REXX 、 Perl 、 Tcl 等。脚本引擎是处理脚本程序的 COM(Component Obje

20、ct Model) 物件。 6.Active Server Pages 的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。 7. 可使用服务器端的脚本来产生客户端的脚本。 8. 物件导向( Object-oriented ) 。 9.ActiveX Server Components(ActiveX 服务器元件 ) 具有无限可扩充性。可以使用 Visual Basic 、 Java 、 Visual C+ 、 COBOL 等编程语言来编写你所需要的 ActiveX Server Component 。 ASP 的奇妙之处真是不胜枚举,下面就请各位系好安全

21、带,我将带领大家进入 ASP 的梦幻世界。 首先,让我们来看看运行 ASP 所需的环境: Microsoft Internet Information Server version 3.0/4.0 on Windows NT Server Microsoft Peer Web Services Version 3.0 on Windows NT Workstation Microsoft Personal Web Server on Windows 95/98 正如前文所述,与一般的程序不同, .asp 程序无须编译, ASP 程序的控制部份,是使用 VBScript 、 JScript 等脚

22、本语言来设计的,当执行 ASP 程序时,脚本程序将一整套命令发送给脚本解释器 ( 即脚本引擎 ) ,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语言一样, ASP 程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写 ASP 程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。当你安装 ASP 时,系统提供了两种脚本语言: VBsrcipt 和 JScript ,而 VBscript 则被作为系统默认的脚本语言。你也可以根据自己的喜好改变系统默认的脚本语言,关于如何改变系统默认的脚本语言请看 在 ASP 中使用脚本语言一文。ASP 本身并不是一种脚

23、本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境。但是,要学好 ASP 又必须掌握它的语法和规则。现在就让我们开始一步一步地认识并学习 Active Server #*Pages 。ASP 程序其实是以扩展名为 .asp 的纯文本形式存在于 WEB 服务器上的,你可以用任何文本编辑器打开它, ASP 程序中可以包含纯文本、 HTML 标记以及脚本命令。你只需将 .asp 程序放在 WEB 服务器的虚拟目录下(该目录必须要有可执行权限) ,就可以通过 WWW 的方式访问 ASP 程序了。要学好 ASP 程序的设计,必须掌握脚本的编写,那么究竟什么是脚本呢?其实脚本是由一

24、系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令 WEB 服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,你必须要熟悉至少一门脚本语言,如 VBScript 。脚本语言是一种介乎于HTML 和诸如 JAVA 、Visual Basic 、C+ 等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。如前所述 ASP 所提供的脚本运行环境可支持多种脚本语言,譬如:JScript 、REXX 、PERL 等等,这无疑给 ASP 程序设计者提供了广泛的发挥余地。 ASP 的出现使得广大 WEB 设计者不必

25、在为客户浏览器是否支持而担心,实际上就算你 在同一个 .asp 文件中使用不同的脚本语言,你都无须为此担忧,因为所有的一切都将在服务器端进行,客户浏览器得到的只是一个程序执行的结果,而你也只需在 .asp 中声明使用不同的脚本语言即可。下面是一个典型的在同一 .asp 文件中使用两种脚本语言的例子: Sub CallmeResponse.Write “CallMe“End Subfunction ViewDate()var xx = new Date()#*Response.Write(x.toString()这是各位在本文中接触的第一个真正的 ASP 程序,千万不要被“ ”符号搞糊涂,这其实

26、是标准的 ASP 定界符,而“ ”之间的就是脚本语言。 ASP 不同于脚本语言,它有自己特定的语法,所有的 ASP 命令都必须包含在 之内,如: ,ASP 通过包含在 中的表达式将执行结果输出到客户浏览器 , 如: 就是将前面赋给变量 test 的值 English 发送到客户浏览器中,而当变量 test 的值为 Mathematics 时 , 以下程序: This weekend we will test . 在客户浏览器中则显示为: This weekend we will test Mathematics. 学习 ASP 最好的方法莫过于亲自动手编写,为了在最短的时间内使各位掌握 ASP

27、 的程序设计技巧,本文将采取实例分析法,通过一系列的实例让各位在实践中学习 ASP 。建立一个 ASP 页面,你所需的只是打开一个文本编辑器,如: Notepad ,然后跟我开始动手编写第一个 ASP 程序。下面我们将建立一个自动监测浏览时间并根据不同时段动态显示不同页面内容的 ASP 程序,请将以下代码剪贴到你的文本编辑器中 , 并存为 test1.asp : = #00:00:00# Then %早上好,今天天气不赖啊 != #12:00:00# Then %下午好 !哈喽 ! 今晚你有没有去 IRC 聊天 !将 test1.asp 保存在 WEB 服务器的虚拟目录 ( 如: aspsam

28、p/) 下,并在浏览器中用 HTTP 的方式进行浏览,如:http:/yourcomputername/aspsamp/test1.asp,你将会新奇地发现,你的页面真的活起来了。虽然,这只是一个非常简单的实例,而且这一功能完全可以通过 JavaScript 完成,但是不难发现使用 ASP 要比 JavaScript 简洁、#*迅速得多,而且运用此法,你完全可以轻而易举地令你的网页在不同的时段展示不同的风格。此例中的“ Time ”实际上是一个 VBScript 内置的显示系统当前时间的函数,由于系统默认的脚本语言是 VBScript ,因此当你在 ASP 命令中调用该函数时,脚本引擎会自动将

29、其转换成当前的系统时间。接下来我们将给 test1.asp 添加一点色彩,在 标识中添加“bgcolor=“ ”即变为 “ ,并在 标记前添加如下语句: = #00:00:00# Thenbgc=“silver“ElseIf Time = #12:00:00# Thenbgc=“navy“Elsebgc=“red“End If% 如此一来,当用户在不同的时段访问你的页面时,他们将会看到不同的页面背景色。我们可以做的事情还有很多,譬如你想知道在凌晨至十二点之间浏览你页面的客户的姓名,并向他或她问好,那么下面的这段程序将能助你达成心愿。首先你需要在页面中设置表单,将以下 HTML 代码剪贴到“= #00:00:00# Then % ”之后:欢迎光临我的主页,请填写以下信息 : First Name: Last Name: Title: Mr.Ms.然后在以上 HTML 代码后面添加如下 ASP 命令: 欢迎您 Mr. 。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。