1、ASP基础教材Active Server Page基础教材一、 关于 ASP 2二、 ASP 的新功能 4三、 创建 ASP 页 5四、 使用脚本语言 8五、 使用变量和常量 10六、 使用集合 13七、 ASP 内建对象 19八、 向浏览器发送内容 23九、 包含文件 28十、 访问数据库 32十一、 调试 ASP 脚本 40十二、 维护 ASP 应用程序的安全 47一、 关于 Active Server PageMicrosoft? Active Server Pages(ASP)是服务器端脚本编写 环境,使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 H
2、TML 页、脚本命令和 ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序。ASP 应用程序很容易开发和修改。HTML 编写人员如果您是位 HTML 编写人员,您将发现 ASP 脚本提供了创建交互页的简便方法。如果您曾想从 HTML 表格中收集数据,或用顾客的姓名个人化 HTML 文件,或根据浏览器的不同使用不同的特性,您会发现 ASP 提供了一个出色的解决方案。以前,要想从 HTML 表格中收集数据,就不得不学习一门编程语言来创建一个 CGI 应用程序。现在,您只要将一些简单的指令嵌入到您的 HTML 文件中,就可以从表格中收集数据并进行分析。您再不必学习完整的
3、编程语言或者单独编译程序来创建交互页。随着不断掌握使用 ASP 和脚本语言的技巧,您可以创建更复杂的脚本。对于 ASP,您可以便捷地使用 ActiveX 组件来执行复杂的任务,比如连接数据库以存储和检索信息。对 ASP 脚本的逐步介绍,请参阅 ASP 教程。然后您可以再回到这些主题中了解关于编写 ASP 脚本的详细信息。有经验的脚本编写人员如果您已经掌握一门脚本语言,如 VBScript、JavaScript 或 PERL,而且您已经了解使用 ASP 的方法。只要安装了符合 ActiveX 脚本标准的相应脚本引擎,就可以在 ASP 页中使用任何一种脚本语言。ASP 带有 Microsoft?
4、Visual Basic? Scripting Edition (VBScript)和 Microsoft? JScript? 的脚本引擎,这样您可以立即开始编辑脚本。PERL、REXX 和 Python 的 ActiveX 脚本引擎可以从第三方开发人员处获得。Web 开发人员如果您已经掌握了一门编程语言,如 Visual Basic,您将发现 ASP 是快速创建 Web 应用程序的一个非常灵活的方法。通过向 HTML 中添加脚本命令,您能够创建应用程序的 HTML 接口。通过创建自己的 ActiveX 组件,可以将应用程序中的商业逻辑封装到能够从脚本、其他组件或从其他程序中调用的模块。使用
5、ASP 进行计算的 Web 可转化为有形的利益,它使 Web 供应商能够提供交互的商业应用而不仅仅是发布内容。例如,旅行社能够比公布航空时刻表做得更多;用 ASP 脚本可以让客户察看现有的航班、比较费用并预定座位。包含在 Windows NT Option pack 中的 Microsoft Transaction Server(MTS)可以降低在服务器上构造程序的复杂性和费用。MTS 可以解决开发那些保密性强的、可分级的以及可靠的 Web 应用程序的复杂性问题。Active Server Pages 模型浏览器从 Web 服务器上请求 .asp 文件时,ASP 脚本开始运行。然后 Web 服
6、务器调用 ASP,ASP 全面读取请求的文件,执行所有脚本命令,并将 Web 页传送给浏览器。由于脚本在服务器上而不是在客户端运行,传送到浏览器上的 Web 页是在 Web 服务器上生成的。所以不必担心浏览器能否处理脚本:Web 服务器已经完成了所有脚本的处理,并将标准的 HTML 传输到浏览器。由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。用户看不到创建他们正在浏览的页的脚本命令。二、 Active Server Page 的新功能Active Server Pages 在功能方面有所增强,更易于开发应用程序。Microsoft 脚本调试程序。 您可以使用脚本调试程序调试 .as
7、p 文件。请参阅 调试 ASP 脚本。 事务性脚本。 ASP 页和页中使用的对象可以运行于事务环境之下。在页上的全部工作只有两种结果:提交或终止。事务可以保护应用程序免于因失败而导致数据丢失。请参阅 创建事务性脚本。 管理工具。 许多应用程序设置可在 Internet 服务管理器上进行,这是 Internet Information Server 和 Personal Web Server(在 Windows NT Workstation 上)的管理工具。请参阅 配置 ASP 应用程序。 隔离 ASP 应用程序。 您可以隔离 ASP 应用程序以便它们能在 Web 服务器上独立的内存空间内运行。
8、万一某个应用程序失败时,可以保护其他应用程序和 Web 服务器。它也使您可以在不停止 Web 服务器的情况下,停止一个应用程序或从内存中卸载其组件。请参阅 隔离应用程序. 文件上载。 浏览器可以通过 Posting Acceptor 应用程序将文件上载到 Web 服务器。可以编写 ASP 脚本来发送带有从 Posting Acceptor 传来的信息的 email,如每一个上载文件的位置和名称。请参阅 Posting Accepter 文档(在 Microsoft Site Server Express 的目录表中)。 新的 ASP 组件。 ASP 提供了新的基础组件。有关概述请参阅 Acti
9、veX 组件。 应用程序根目录的改变。 ASP 应用程序的根目录在您的 Web 站点上可以是物理目录。以前,根目录必须映射为虚拟目录。现在可以用 Internet 服务管理器指示 ASP 应用程序的根目录。请参阅 创建应用程序。必须将 .asp 文件置于应用程序树中,Web 服务器才能检测文件的改变并且自动重装它们。 支持 Internet Explorer 4.0 通道和 Web 预测。 当 ASP 要发送包含通道定义命令的文件时,它会自动告诉 Internet Explorer 4.0。使用 ASP 很容易就能生成通道定义 (.cdf) 文件。 支持 HTTP 1.1 协议。 Intern
10、et Information Server 和 Personal Web Server 支持 HTTP 1.1 协议。在响应支持 HTTP 1.1 的浏览器(例如 Internet Explorer 4.0)时,这一支持可使 ASP 利用新协议的高效率。例如,当向浏览器返回页的时候,ASP 使用大块转换编码以提高网络效率。 三、 创建 Active Server Page 页Active Server Pages(ASP)文件是以 .asp 为扩展名的文本文件,这个文本文件可以包括下列部分的任意组合:文本 HTML 标记 ASP 脚本命令 创建 .asp 文件非常容易。如果要在 HTML 文件
11、中添加脚本,只需将该文件的扩展名 .htm 或 .html 替换为 .asp 就可以了。要使 .asp 文件可用于 Web 用户,请将这个新文件保存在 Web 站点上的目录中(请确定启用了该目录的脚本和执行权限)。使用浏览器查看该文件时,可以看到 ASP 处理并返回了 HTML 页。现在可以在 .asp 文件中添加脚本命令了。注意 因为 .asp 文件需要额外的处理,请不要将所有的 HTML 页都转换为 ASP 页。应该只将包含脚本命令的文件转换为 .asp 文件。.asp 和 .htm 文件可以放置在相同的目录中。使用任何的文本编辑器都可以创建 .asp 文件。使用那些带有 ASP 增强支持
12、的编辑器将更能提高效率,如 Microsoft? Visual InterDev? 。如果您从未使用过 HTML,请考虑先使用 Microsoft FrontPage 。使用 FrontPage 创建文档和格式化文本就象使用文字处理工具一样简单。接下来还可以使用 Insert Script 命令在 FrontPage 创建的 HTML 页中加入简单的 ASP 命令。加入 Script 命令脚本是一系列的命令和指令。与 HTML 标签不同,script 命令指示 Web 服务器执行操作,而 HTML 标签只是简单地格式化文本或读取图形、视频及音频文件。Script 命令可以在变量中存储用户名,在
13、返回到浏览器的页中显示用户名或将用户名存储在数据库中。脚本命令通过定界符与文本区别开来。定界符是字符或一串字符,它标志单元开始或结束。HTML 使用定界符棗小于号()括入 HTML 标签。ASP 使用定界符 括入脚本命令。您可以在定界符中括入任何命令,只要这些命令对正在使用的脚本语言有效。下面的例子展示了包含脚本命令的简单的 HTML 页:This page was last refreshed on .VBScript 函数 Now 返回当前的日期和时间。Web 服务器处理该页时,会使用当前的日期和时间替换 并且将该页返回到浏览器:This page was last refreshed o
14、n 8/1/97 2:20:00 PM.定界符括入的命令被称为主脚本命令。这些命令被主脚本语言处理。在脚本定界符中使用的任何命令都必须对主脚本语言有效。默认情况下,主脚本语言是 VBScript。要设置另一种语言。请参阅 使用脚本语言。如果您已经熟悉了客户端脚本编写(编写在浏览器上运行的脚本),请注意不要用 HTML 元素括入表达式。在编写服务器端脚本时,只用 元素在主脚本语言外的其他语言中定义过程。关于详细信息,请参阅 使用脚本语言。合成 HTML 和脚本命令在 ASP 定界符中可以包含任何在主脚本语言中合法的语句、表达式、过程或操作符。在 VBScript 和其他脚本语言中,语句是语法完整
15、的单元,该单元表达某项活动、声明或定义。下面的条件语句 If.Then.Else 是一条常见的 VBScript 语句。= #12:00:00 AM# And Time 这条语句将值 Good Morning! 或值 Hello! 存储在变量 greeting 中。 命令将当前的变量值发送到浏览器中。这样,在(Web 服务器所在时区的)正午 12 点前浏览该脚本的用户将看到:Good Morning!在正午 12 点或以后浏览此脚本的用户将看到:Hello!在语句的不同部分之间可以加入 HTML 文本。例如,下面的脚本在If.Then.Else 语句中加入了 HTML,产生了与上面脚本同样的结
16、果:= #12:00:00 AM# And Time Good Morning!Hello!如果条件为真棗也就是说,如果时间为午夜、午夜以后或者中午以前,那么 Web 服务器将跟随条件(“Good Morning”)的 HTML 发送到浏览器;否则,将跟随 Else 的 HTML(“Hello”)发送到浏览器。这种混合 HTML 和脚本命令的方式可以方便地将 If.Then.Else 语句变换为几行 HTML 文本。如果要在 Web 页上显示多处问候,前一个例子更为有用。只需要设置一次变量,就可以重复显示。最好从脚本命令中将 HTML 文本返回到浏览器,而不用脚本命令散布 HTML 文本。要将
17、文本返回到浏览器,请使用 ASP 的内建对象 Response。下面的例子可以产生与前一个脚本同样的结果:= #12:00:00 AM# And Time Response.Write 将跟随的文本发送到浏览器。要动态构造返回浏览器的文本,请在语句中使用 Response.Write。例如,可能要构造包含一些变量值的字符串。在 使用组件和对象 以及 向浏览器传送内容 中了解到更多有关 Response 对象和一般对象的信息。现在,先了解将脚本命令插入到 HTML 页中的几种方法。在 ASP 定界符中可以包含用默认主脚本语言编写的过程。详细信息,请参阅 使用脚本语言。如果正在使用 JScript
18、 命令,可以插入花括号指示语句块直接进入 ASP 命令,而不用考虑它是否夹杂着 HTML 标签和文本。例如:This is the text version of a page.This is the multimedia version of a page.使用 ASP 指令ASP 提供了您使用的脚本语言以外的指令。这是一些输出指令和处理指令。ASP 的输出指令 显示表达式的值。这个输出指令等同于使用 Response.Write 显示信息。例如,输出表达式 将文字 climbing(变量当前的值)传送到浏览器。ASP 处理指令 为 ASP 提供处理 .asp 文件所需的信息。例如,下面的指
19、令将 VBScript 设为该页的主脚本语言:处理指令必须出现在 .asp 文件的第一行。不要将处理指令放在包含 #include 语句的文件中。必须在 at 标记()和关键字之间加入一个空格。处理指令有下列关键字:LANGUAGE 关键字设置页的脚本语言;请参阅 使用脚本语言。 CODEPAGE 关键字设置页的代码页(字符编码);请参阅 使用国际站点。 LCID 关键字设置页的现场标识符;请参阅 使用国际站点。 TRANSACTION 关键字指定将在事务处理环境下运行的页;请参阅 创建事务处理脚本。 ENABLESESSIONSTATE 关键字指定 ASP 页是否使用会话状态;请参阅 管理会
20、话。 可以在单个指令中包含多个关键字;关键字/值对之间必须由空格分开。不要在等号(=)左右加入空格。下面的例子中设置了脚本语言和代码页:在脚本中的空白字符如果您的主脚本语言是 VBScript 或者 JScript,ASP 从指令中删除空白字符。使用其他脚本语言时,ASP 保留空白字符,这样那些需要使用位置和缩进的语言,如 Python 就可以被正确解释了。空白字符包括空格、制表符、回车和换行符。使用 VBScript 和 JScript 时,在打开定界符之后和关闭定界符之前使用空白字符更容易阅读命令。下面的命令都是合法的:ASP 将一个语句的关闭定界符与下一个语句的打开定界符之间的空白字符删
21、除。要保留两个语句间的空白字符,比如在句子中显示变量值的时候,请使用 HTML 不间断空符( )。例如:My response is to say . 四、 使用脚本语言脚本语言是介于 HTML 和 Java、C+ 和 Visual Basic 之类的编程语言之间的语言。HTML 通常用于格式化文本和链接网页。编程语言通常用于向计算机发送一系列复杂指令。脚本语言也可用来向计算机发送指令,但它们的语法和规则没有可编译的编程语言那样严格和复杂。脚本语言主要用于格式化文本和使用以编程语言编写的已编译好的组件。Active Server Pages 使 Web 开发商用多种脚本语
22、言编写完整的过程成为可能。事实上,在单个 .asp 文件内部就可以使用多种脚本语言。另外,由于脚本是在服务器端读取和处理的,所以请求 .asp 文件的客户端浏览器并不需要支持脚本。您可以使用任意一种其相应的脚本引擎已安装在 Web 服务器上的脚本语言。脚本引擎是处理用某种语言书写的命令的程序。Active Server Pages 带有两个脚本引擎:Microsoft Visual Basic Scripting Edition (VBScript) 和 Microsoft JScript。您也可以安装和使用其他的脚本语言引擎,例如 REXX 和 Perl。如果您已经是 Visual Basi
23、c 程序员,就可以马上使用 VBScript,它是 Visual Basic 的子集。如果您是 Java、C 或 C+ 程序员,您会发现 JScript 语法对您来说是熟悉的,虽然 JScript 与 Java 或 C 并没有联系。如果您熟悉其他脚本语言,例如 REXX 或 Perl,您可获取和安装相应的脚本引擎,这样就可以使用您熟悉的脚本语言了。Active Server Pages 是 ActiveX 脚本的宿主。要使用一种语言,必须安装脚本引擎,该引擎必须遵循 ActiveX 脚本标准并作为一个 COM (组件对象模型)对象驻留在 Web 服务器上。设置主脚本语言 ASP 主脚本语言 是
24、用来处理在分界符 内部的命令的语言。默认时,主脚本语言是 VBScript。您可以将任何一种具有脚本引擎的脚本语言作为主脚本语言。您可以逐页设置主脚本语言,也可以在 ASP 应用程序中设置所有页的主脚本语言。为某页设置语言要设置单个页的主脚本语言,可将 指令添加到 .asp 文件的开头。该指令的语法是:其中 ScriptingLanguage 就是您所设置的页的主脚本语言。如果对某页进行了设置,那么该页将忽略在应用程序中对所有页的全局设置。请遵循使用 ASP 指令的指导。详细信息,请参阅 创建 ASP 页。注意 要将不支持Object.Method 语法的语言作为主脚本语言使用,必须先创建 L
25、anguageEngines 注册表键。详细信息,请参阅 注册表。为应用程序设置语言在应用程序中,如要为所有页设置主脚本语言,可在 Internet 服务管理器的“App 选项”选项卡上设置“默认的 ASP 语言”属性。详细信息,请参阅配置 ASP 应用程序。在服务器上使用 VBScript 和 JScript在服务端通过 ASP 使用 VBScript 时,两个 VBScript 特征将失效。由于 Active Server Pages 脚本是在服务器端执行的,表示用户接口的元素的 VBScript 语句 InputBox 和 MsgBox 将不被支持。另外,在服务器端的脚本中,请不要使用
26、VBScript 函数 CreateObject 和 GetObject。而要使用 Server.CreateObject,这样 ASP 就可以跟踪对象实例了。用 CreateObject 或 GetObject 创建的对象不能访问 ASP 内建对象,也不能参与事务处理。该规则的一个例外是如果您使用的是 Admin 对象和 Java monikers。详细信息,请参阅 IIS Admin 对象 和 创建 Java 类的实例。关于所有 VBScript 和 JScript 的操作符、函数、语句、对象、属性及方法的列表及详细说明,请参阅 VBScript 语言参考 和 JScript 语言参考。包
27、含注释由于 ASP 脚本是在服务器端处理的,所以即使客户端的浏览器不支持脚本语言,也不必通过包含进 HTML 注释标记来隐藏脚本,但客户端的脚本则通常需要这样处理。在内容送到浏览器之前,所有 ASP 命令都已被处理好了。您可用 HTML 注释将注释加进 HTML 页。注释将返回给浏览器,若用户浏览 HTML 源文件,就可以看见。VBScript 注释VBScript 支持撇号型注释。与 HTML 注释不同,当处理脚本时,它们将被删除,而不是被送到浏览器。 输出表达式不能包括注释。例如,下面的第一行将正常运行,而第二行则不能,因为它是以 %= 开头的。 JScript 注释JScript 支持
28、/ 注释符。每一个注释行中都必须使用该注释符。 / This is a definition for the procedure PrintDate. function PrintDate() var xx = new Date() / This line sends the current date to the browser, / translated to a string.Response.Write(x.toString() 大小写敏感性VBScript 不区分大小写。例如,您可以用 Request 或 request 来引用 ASP Request 对象。不区分大小写的后果是您不能用大小写来区分变量名。例如,您不能创建两个名为 Color 和 color 的单独变量。JScript 区分大小写。要在脚本中使用 JScript 关键字,就必须按参考页中所示的大小写来书写。例如,用 date 来代替 Date 将导致错误。在 JScript 中,对象名必须大写
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1