ASP完整教程(完全ASP编程)

时间:2022-12-02 00:19 阅读: 评论: 作者:admin

ASP完整教程(完全ASP编程)

  随 Windows NT 交付的服务器方技术的集合。 这些 技术为组件应用程序管理、数据库访问、 事务和消息 提供一致的服务器方组件、脚本模 型和一套集成的系 统服务。

  作者殷切希望能通过此文为广大 WEB 开发者和爱好者提供便利,使 大家共同来参加 ASP 的学习和交流,为了顾全不同层次读者的需求作者还 是决定从最基本的脚本语言的编制着手,随后再一步一步地讲解 ASP 内建 对象、ActiveX 组件以及用 ASP 开发 WEB 应用程序的实例,相信通过一 段时间持续的学习,不出几个月各位都能够得心应手地开发自己的动态网 站。下面就先请大家跟我来学习一些 ASP 中应用脚本语言(以 VBScript 为主)的基础知识。

  content-type:text/html; charset=gb2312 注意,无论字符串表示的字符集是否有效,该功能都会将其插入 content-type 标题中。且如果某个页包含多个含有 Response.Charset 的标 记,则每个 Response.Charset 都将替代前一个 CharsetName。这样,字符 集将被设置为该页中 Response.Charset 的最后一个实例所指定值。 3、ContentType ContentType 属性指定服务器响应的 HTTP 内容类型。如果未指定 ContentType,默认为 text/HTML。 4、Expires Expires 属性指定了在浏览器上缓冲存储的页距过期还有多少时间。如 果用户在某个页过期之前又回到此页,就会显示缓冲区中的页面。如果设置 response.expires=0,则可使缓存的页面立即过期。这是一个较实用的属性, 当客户通过 ASP 的登陆页面进入 WEB 站点后,应该利用该属性使登陆页 面立即过期,以确保安全。 5、ExpiresAbsolute 与 Expires 属性不同 ExpiresAbsolute 属性指定缓存于浏览器中的页 面的确切到期日期和时间。在未到期之前,若用户返回到该页,该缓存中的 页面就显示。如果未指定时间,该主页在当天午夜到期。如果未指定日期, 则该主页在脚本运行当天的指定时间到期。如下示例指定页面在 1998 年

  日期的年、月、日。date 是常数,表示今天日期,而函数 DateValue 则是 将字符串变量转化为日期格式的变量。在本段程序的第三行,我们第一次接 触到了标准的 SQL 查询语句,这句语句是什么意思呢?

  “Select”是标准的 SQL 数据库查询命令,通过 SELECT 语句我们可以 在数据库中检索数据,并将查询结果提供给用户,此处的“*”表示查询该名 为“message”的数据库中的所有记录,而“where”的作用是设定一个查询条 件,是为了将数据库中符合条件的记录取出来,“message.creatime”是一个储 存了数据库中记录创建日期的变量。将整句语句连起来理解就是:查询名为 message 的数据库中的所有记录,并将其中创建日期在今天和今天以前七日 以内的所有记录存储在变量 sql 中。可能由于大家第一次接触 SQL 语句, 一时间无法完全理解它的作用,不过不用担心在今后的章节中作者将专门用 一期给大家介绍 SQL 的使用方法。

  二、方法 Application 对象有两个方法,它们都是用于处理多个用户对存储在 Application 中的数据进行写入的问题 1、Lock 方法禁止其他客户修改 Application 对象的属性。

  Lock 方法阻止其他客户修改存储在 Application 对象中的变量,以确 保在同一时刻仅有一个客户可修改和存取 Application 变量。如果用户没有 明确调用 Unlock 方法,则服务器将在 .asp 文件结束或超时后即解除对 Application 对象的锁定。

  我想,现在各位应该已经完全了解 ASP 的服务器端设置了,下面我们 就进入正题 -- 学习 ASP 的最后一个内建对象 Server。

  Server 对象提供对服务器上的方法和属性的访问 , 其中大多数方法和 属性是作为实用程序的功能服务的。有了 Server 对象,你就可以在服务器 上启动 ActiveX 对象例程,并使用 Active Server 服务提供象 HTML 和 URL 编码这样的函数。

  在开始本次课程之前,我仍要在这里回答一些朋友们提出的比较普遍的 问题。最近仍有不少朋友来信问我,如何构建服务器端的 Active Server Page 环境。我想可能是我在前几篇中没有讲清楚,因此,在本篇的开头有必要把 这个问题详细阐述一遍。

  ASP 的应用完全是基于 Microsoft Internet Infomation Server(简称 IIS) 之上的,IIS 有分别用于 Windows NT Server 和 WorkStation 的两个版本中 (当然 IIS4.0 也有 Windows98 版,这里暂且不提),其功能几乎完全相同, 所不同的只是安装过程。一般来说,我们使用的都是基于 NT 服务器上的 IIS 版本。在 NT Server 的环境中,发布信息、管理站点的工作一般都是通 过 IIS 来完成的。通常我们在 NT4.0 版本中运行的是 IIS2.0 版,但它不 具有支持 ASP 的功能。ASP 必须在安装完 IIS 后单独安装,安装文件是 一个微软发布的 ASP 安装包,大约有 9 兆多,应该可以在微软的网站上 下载。当 IIS2.0 中增添了支持 ASP 的功能后,其也就自动升级为 3.0 版 本。2.0 和 3.0 对于 WEB 服务器来说,并没有什么大的改动,只是单纯 地增加了运行 ASP 的能力。当安装完成后,运行 Internet 服务管理器,你 将看到如下画面:

  2、用户在 Session 对象中存储了一个值。 3、用户请求了一个应用程序的 .asp 文件,并且该应用程序的 Global.asa 文件使用 OBJECT 标签创建带有会话作用域的对象的实例。 如果用户在指定时间内没有请求或刷新应用程序中的任何页,会话将自 动结束。这段时间的默认值是 20 分钟。可以通过在 Internet 服务管理器 中设置“应用程序选项”属性页中的“会话超时”属性改变应用程序的默认 超时限制设置。应依据您的 Web 应用程序的要求和服务器的内存空间来设 置此值。例如,如果您希望浏览您的 Web 应用程序的用户在每一页仅停留 几分钟,就应该缩短会话的默认超时值。过长的会话超时值将导致打开的会 话过多而耗尽您的服务器的内存资源。对于一个特定的会话,如果您想设置 一个小于默认超时值的超时值,可以设置 Session 对象的 Timeout 属性。 例如,下面这段脚本将超时值设置为 5 分钟。 % Session.Timeout = 5 % 当然你也可以设置一个大于默认设置的超时值,Session.Timeout 属性 决定超时值。你还可以通过 Session 对象的 Abandon 方法显式结束一个会 话。例如,在表格中提供一个“退出”按钮,将按钮的 ACTION 参数设置 为包含下列命令的 .asp 文件的 URL。 % Session.Abandon % 今天,我们学习了两个在 WEB 页面特别是基于 WEB 的 BBS 或 Chat 上经常使用 ASP 内建对象,由于这两个对象在实际运用中很实用, 因此在下一篇中作者将运用至此我们所学过的 4 个 ASP 内建对象,给大 家演示一个完整的 ASP 应用程序,相信通过这个练习,能大大加深你对 ASP 应用程序的理解和掌握。敬请关注“动态网站设计十八般武艺 --ASP 篇 (9)”。

  在 VBScript 中,严格的来讲变量是不用声明的, 如: % Mystring=This is my string % 然而,即使在使用变量前不需要去声明变量,也应养成在编程时声明 变量的良好习惯,因为这样有助于防止错误发生。声明一个变量意味着告诉 脚本引擎,有一个特定名称的变量,这样就可以在脚本中引用该变量。在 VBScript 中声明一个变量可以使用“Dim”语句,如下: script language=VBScript !-Option Explicit 要求在脚本中声明所有的变量 Dim Mystring Mystring=This is my string -- /script 变量的作用域即生命期,决定哪些脚本命令可访问变量。在过程内部 声明的变量具有局部作用域。每执行一次过程,变量就被创建然后消亡。而 过程外部的任何命令都不能访问它。在过程外部声明的变量具有全局作用 域,其值能被 ASP 页上的任何脚本命令访问和修改。声明变量时,局部变

  量信息查询,客户咨询,资源交互等“动态”需求的。因此作为商业网站的 设计者,必须要设计出更具实用性和交互性的“动态”网站。由于绝大多数 商业网站都具有大量的数据和信息,而建网的初衷也就是在于方便客户查询 企业资料,方便同客户的交流,及时获得信息反馈。那么,就必然会面临如 何让使用者在浏览器界面中,通过互联网或内联网(Intranet)查询 WEB 数 据库的资料,甚至输入、更新和删除 WEB 服务器上的资料。下面笔者就简 单介绍几种常用的“动态”网站设计方法: 1、 CGI(Common Gateway Interface)

  在开始学习脚本语言之前,你应该理解一些简单的概念 -- 变量、进程。 所谓变量是计算机内存中已命名的存储位置,其中包含了数字或字符串等数 据,它使用户便于理解脚本操作的名称,为用户提供了一种存储、检索和操 作数据的途径。程序是由一个或多个进程组成的,在 VBScript 中,进程就 是“指令块”,通常意义上的进程,如 Sub,只是为了简单的数据处理。

  剪贴至记事簿保存为 DoLoop.asp,并在浏览器中以 HTTP 方式进行浏览, 根据当前的月份的不同,你将看到如下图的结果。

  Microsoft Personal Web Server on Windows 95/98 正如前文所述,与一般的程序不同, .asp 程序无须编译, ASP 程序 的控制部份,是使用 VBScript 、JScript 等脚本语言来设计的,当执行 ASP 程序时,脚本程序将一整套命令发送给脚本解释器 ( 即脚本引擎 ) ,由脚 本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程 语言一样, ASP 程序的编写也遵循一定的规则,如果你想使用你所喜爱的 脚本语言编写 ASP 程序,那么你的服务器上必须要有能解释这种脚本语言 的脚本解释器。当你安装 ASP 时,系统提供了两种脚本语言: VBsrcipt 和 JScript ,而 VBscript 则被作为系统默认的脚本语言。你也可以根据自己的 喜好改变系统默认的脚本语言,关于如何改变系统默认的脚本语言请看《 在 ASP 中使用脚本语言》一文。 ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境。但是,要学好 ASP 又必须掌握它的语 法和规则。现在就让我们开始一步一步地认识并学习 Active Server Pages 。 ASP 程序其实是以扩展名为 .asp 的纯文本形式存在于 WEB 服务器 上的,你可以用任何文本编辑器打开它, ASP 程序中可以包含纯文本、 HTML 标记以及脚本命令。你只需将 .asp 程序放在 WEB 服务器的虚拟 目录下(该目录必须要有可执行权限),就可以通过 的方式访问

  通过前两篇的学习,相信各位已经对 ASP 的动态网站设计有了一个基 本的概念和整体的印象。从本篇开始作者将从脚本语言的使用着手,由浅入 深地带领大家探索 ASP 动态网站设计的线页

  本文第二篇刊登后,很多朋友给我发了“妹儿”,希望能尽快看到本文 的第三、第四、乃至第……篇,甚至有位朋友焦急地要我将 ASP 篇的全文 发给他。看到有如此之多志同道合的朋友,令我精神大振。虽然 ASP 早在 两年前就已经推出了,但直到今年它才以其灵活便捷的开发过程、良好的 WEB 数据库连接功能受到了国人的重视,然而由于目前国内尚缺乏关于 ASP 开发 WEB 应用程序的详尽教材,因此使得国内广大 WEB 开发者们 仍处在闭门啃 E 文的阶段,也包括作者本人。也正因为如此,作者才蒙发 了写文章的念头,在得到 Chinabyte 网络学院翁斌先生的大力支持后,各 位才得以见到此文。

  在你的浏览器中刷新 browser.asp ,程序将自动辨别浏览器的属性并动 态显示不同的信息。不难发现在整个 browser.asp 文件中几乎没有用到任何 复杂的编程,就轻而易举的达到了动态鉴别客户浏览器并动态产生响应事件 的效果。事实上,这个程序的关键就在于前文提到的 ActiveX 组件 --Browser Capabilities ,它的作用类似于一个 Function ,只需简单地在程 序中调用该组件即能达到你所希望的效果。

  看了《引言》后,你是否已经急不可待地想构建属于你自己的动态网 站?本文将以 Active Server Pages 为中心,向你全面展示制作动态商业网 站的步骤和技巧。

  上一章给大家简要介绍了建立动态网站的一些方法和制作工具,本章 将以如何建立基于 IIS 的 ASP 动态网站为中心向大家一步一步地揭示动 态商业网站设计的真正奥秘。为了使各位能够全面、细致地掌握 ASP 的开 发技巧,本文今后将采取连载的形式,手把手地教你如何建立属于自己 ASP 动态网站。由于本文是作者根据自己的学习和实践经验并结合了一些外文资 料而写成的,因此不免会有一些偏颇,希望各位见谅。如发现本文有何不当 之处,请及时通知作者,谢谢。

  一、属性 1、SessionID SessionID 属性返回用户的会话标识。在创建会话时,服务器会为每一 个会话生成一个单独的标识。会话标识以长整形数据类型返回。在很多情况 下 SessionID 可以用于 WEB 页面注册统计。 2、TimeOut Timeout 属性以分钟为单位为该应用程序的 Session 对象指定超时时 限。如果用户在该超时时限之内不刷新或请求网页,则该会话将终止。 二、方法 Session 对象仅有一个方法,就是 Abandon,Abandon 方法删除所有存 储在 Session 对象中的对象并释放这些对象的源。如果您未明确地调用

   % Const myage=100 % 请注意字符串文字包含在两个引号 ( ) 之间。这是区分字符串型常数 和数值型常数的最明显的方法。日期文字和时间文字包含在两个井号 (#) 之间。例如:

   % Const CutoffDate = #6-1-97# % 在理解了常量和变量之后,我们来看看什么是过程。它是一组能执行 指定任务且具有返回值的脚本命令。您可以定义自己的过程,然后在脚本中 反复调用它们。您可以将过程定义放在调用过程的 .asp 文件中,也可以将 通用过程放在一个共享的 .asp 文件中,然后用 SSI #include 指令将其包含 进其他调用其过程的 .asp 文件中。您还可选择另一种方法,即把这些功能

  最后,我们要考虑的是如何仅在一个 .asp 文件中处理各种事件 , 如 : 客户登陆界面、客户聊天界面。由于客户第一次请求 .asp 文件时,采用的 是简单的 HTTP GET 方式,但是当客户向页面上的表单字段中增加的数据 并向自身提交表单后,.asp 文件会再次被请求,不过这次数据是经过 HTTP POST 方式进行传递的。文件被请求的方式可以用两种方法来确定。一是测 试 Request.Form 集合是否包含成员,若没有,则表明没有发送给表单处理 的数据。二是使用 Request.ServerVariables(Request_Method) 变量。如果 表单是通过 HTTP GET 方式被请求的,则这个变量会返回“GET”,如果表 单被提交处理则返回“POST”。由于后一种方法对于确定文件的请求方式更 直接,所以我们使用如下代码进行判断 :

  大家在学习了脚本语言 VBScript 的变量、常量和过程的基本概念后, 本期将继续向各位介绍 VBScript 的函数和语法。

  函数和过程一样都是命名了的代码块,但它们却有很大的区别,过程 完成程序任务,函数则返回值。我们可以这样理解,过程象一个完整的句子, 而函数则象一个单词。举个例子,当你想获取某个数的平方根,你只要将该 数传给 VBScript 的 Sqr() 函数,此函数会立即返回该数的平方根。如:

  最近很多朋友来信问我,为什么前两期的范例程序运行时有这样那样的 错。首先,我要向大家声明,这些程序都是我自己写的,在出“厂”前都经 过合格检验,绝无“假冒伪劣产品”。:) 由于程序中使用了 cookie 记录客 户信息,所以如果你在浏览器中没有设置接受 cookie 则程序将不能正常运

  Server.propertymethod 二、属性 ScriptTimeout 超时值,在脚本运行超过这一时间之后即作超时处理。 如下代码指定服务器处理脚本在 100 秒后超时。

  新发布的信息。” 如果你不熟悉 VBScrip,就不会知道 VBScrip 本身提供了一个用来取

  DateSerial(year, month, day) 如果你要指定一个日期,例如:1998 年 11 月 10 日,那么 DateSerial 函数中每个参数的取值范围都应该是可接受的,即日的取值应在 1 和 31 之间,月的取值应在 1 和 12 之间。但是,也可以使用表示某日之前或之 后的年、月、日数目的数值表达式为每个参数指定相对日期。以下样例中使 用了数值表达式代替绝对日期。在这里,DateSerial 函数返回 1998 年 11 月 10 日之前二十年 (1990-20) 零两个月 (11-2) 又一天 (10-1) 的日期:即 1978 年 9 月 9 日。程序如下:

  1. 使用 VBScript、JScript 等简单易懂的脚本语言,结合 HTML 代码, 即可快速地完成网站的应用程序。

  2. 无须编译,容易编写,可在服务器端直接执行。 3. 使用普通的文本编辑器,如 Windows 的记事本,即可进行编辑设 计。 4. 与浏览器无关 (Browser Independence), 用户端只要使用可执行

  究竟什么是 DHTML?它与传统的 HTML 有什么不同?DHTML 就是当 网页从 WEB 服务器下载后无须再经过服务器的处理,而在浏览器中直接动 态地更新网页的内容、排版样式、动画。

  比如,当鼠标移至文章段落中,段落能够变成蓝色,或者当你点击一个 超链后会自动生成一个下拉式的子超链目录。这就是 Dynamic HTML(动态 HTML),它是近年来网络飞速发展进程中最振奋人心也是最具实用性的创

  通用网关接口的传统方式,当用户在浏览器端填好表单(form)要求输 入的资料,提出 HTTP 请求后,WEB 服务器端将执行一个表单所设定的可 执行的 CGI 应用程序,CGI 程序分析表单(form)中所输入的资料,存取 WEB 数据库,将查询执行的结果以 HTML 的格式返回给浏览器。使用 CGI 方式存取 WEB 数据库,有很多的缺点,譬如不易开发、变更修改成本高、 功能有限、不易侦错、执行速度慢等,而且由于并非整合于 HTML 文档之 中,因此必须使用与 HTML 完全不同的设计过程来设计一个可执行的应用 程序。 2、 IDC(Internet Database Connector)

  互联网数据库连接头是 Windows NT Server 内含 Internet Information Server(简称 IIS)2.0 的特征之一,它提供了一种使你的互联网数据库内容 得以发布并可与用户交互的方法,它实际上是一个包含于 IIS 中的 I S A P I 应用程序。你只需掌握 HTML 和 SQL 的基本知识并写为数不多的代码就能 编出具有交互能力的数据库应用程序,让使用者在浏览器界面中得以查询、 输入、更新、和删除 WEB 服务器上的数据资料。正如 VB 程序员所喜欢的 那样,构成 IDC 应用程序的文件是解释性的,由于设计简易,只要准备两 个档案,即可在用户端的浏览器中存取 WEB 服务器的数据资料,且无须编 译,因此具有快速的开发循环和反馈。但这种简单性的代价是牺牲了许多灵 活性,使你不得不放弃许多对用户接口的控制,并几乎放弃了所有验证数据 的能力。因而 I D C 仅适用于简单的 WEB 应用程序。 3、 ActiveX Data Object(ADO)是 WEB 数据库应用的最佳选择。

  本文 ASP 篇 (1) 展示了 ASP 动态网站设计的一些最基本的方法,相 信通过实践各位对 ASP 已经有了最基本的了解,本篇在答复大家所提问题 的同时,将进一步介绍 ASP 动态网站的一些基本技巧。

  自本文第一篇刊登后 , 络绎不绝地收到了一些朋友的来信,出乎作者 的意料,其中有相当一部分是初次接触 ASP,因此有许多朋友都提出为何 在浏览器中浏览 ASP 篇(1)中的范例时看到的竟然是原代码?由于遇到此 问题的朋友较多,故作者在此一并回答。首先,我要再次强调 ASP 是一套 服务器端的脚本环境,当用户从浏览器向 Web 服务器请求.asp 文件时,ASP

  清华大学出版社出版的关于 MS InterDev 的傻瓜书,其中有 ASP 的教学, 和一本 Active Server Page 2.0 的中文手册,因此目前作者还是主要通过国 外网站来获取 ASP 的有关信息和资料,这也是作者写本文的一个主要原 因。下面我就将 bookmark 中的一些较经典的 ASP 站点罗列出来:

  在上一篇中作者给大家详细介绍了 ASP 内建对象之一 Request 的使 用方法,相信各位通过一系列的实践已经能够熟练掌握,本篇将继续给大家 介绍 ASP 的另一个内建对象 Response。

  最近,有很多朋友来“妹儿”催我加快 ASP 篇一文的写作速度,并急 切地询问哪里有关于 ASP 的教材。我深深地被大家的学习热情所打动,因 此决定将自己平时所搜集的一些 ASP 信息资料拿出来和大家共享,也希望 所有的朋友能慷慨地将自己搜集的有关 ASP 的资料告诉作者,谢谢。由于 目前国内有关 ASP 的中文教材凤毛麟角,而专门针对 ASP 网站开发的中 文教材作者更是闻所未闻(可能是作者孤陋寡闻),只是最近听说出了一本

  的系统时间在凌晨 0:00:00 和中午 12:00:00 之间的话,浏览器将显示如下 画面:

  这其实是一个在 Internet 和 Intranet 上常见的功能,即当用户在浏览 器端填写完表单后,通过调用一个通用网关程序将用户数据传送到服务器, 由服务器进行处理后再将结果返还给客户浏览器。过去为了实现这样的功能 必须编写一个独立于 HTML 之外的 CGI 程序,并通过 HTML 进行调用, 撇开 CGI 编写复杂等缺点不谈, CGI 的执行效率也是一个大问题,每一 个表单 (form) 均须执行一个可执行文档,当多人同时上线使用时,多个文 档同时执行,将大大降低 WEB 服务器的执行速度,如今 ASP 提供了与 HTML 完全相融的编程环境,显然要比使用 CGI 便捷得多。

  [statements]Next [element] 如果 group 中有至少一个元素,就会进入 For Each 块执行。一旦进 入循环,便首先对 group 中第一个元素执行循环中的所有语句。只要 group 中还有其他的元素,就会对每个元素执行循环中的语句。当 group 中没有 其他元素时退出循环,然后从 Next 语句之后的语句继续执行。 至此,我们已经完成了对脚本语言 VBScript 所有的基本知识的学习, 但是仅凭阅读现有的这几篇文章你是无法熟练运用 VBScript 的,你必须通 过不断的实践来提高自己的等级。当然,如果你熟悉 C,你也可以选择 JavaScript 来作为 ASP 应用程序的脚本语言。不知大家有没有发现 ASP 程序的调试比较困难,因为没有什么现成的工具,在这里我向大家简要介绍 一下 Microsoft Script Debugger,我们可以运用它来进行一定量的程序调试 工作。 IIS4.0 所包括的 Microsoft Script Debugger(Script 侦错工具),提供脚 本程序的侦错功能。您可以使用 Microsoft Script 侦错工具来进行对使用 VBScript、JScript 编写的脚本程序,以及 Java applets、beans 和 ActiveX 组 件的侦错工作。 有的脚本程序在用户端浏览器执行,有的脚本程序( % … % 中的

  上一篇给大家介绍了几个最基本的 ASP 程序,相信大家已经对 ASP 的应用有了大致的了解,本篇将继续介绍一些用 ASP 编写的 WEB 动态功 能。由于 WEB 浏览器标准的不一致从而使得如何能够让自己制作的网站 去适应各种不同的浏览器成为了广大网站设计者最为头疼的事,在如今的形 势之下,我们不肯也不可能去抛弃 Netscape 或 IE 中的任何一种客户群, 但我们有时候又不得不去考虑客户端浏览器的实际浏览效果,过去我们常用 JavaScript 编写一段程序来辨别客户端使用的不同的浏览器,那么今天就让 我们来看看如何使用 ASP 更为便捷且精确地达到这一目的。将以下代码, 剪贴到你的 Notebook 中,并保存为 browser.asp 。

  asp2.asp 则是用 IF 语句判断用户输入的姓名是否为“George Washington”, 并做出相应的反馈。在此我们遇到了一个 ASP 的内建对象 request,通过使用 request 对象可以访问任何用 HTTP 请求传递的信息, 包括从 HTML 表格中用 POST 方法或 GET 方法传递的参数、cookie 和 用户认证。而 QueryString 集合检索 HTTP 查询字符串中变量的值,HTTP 查询字符串由问号 (?) 后的值指定。如:

  量和全局变量可以有相同的名称。而改变其中一个的值并不会改变另一个的 值。如果没有声明变量,则可能不小心会改变一个全局变量的值。例如,以 下脚本命令返回值 1,虽然有两个名为 Y 变量:

  % Dim YY = 1Call SetLocalVariableResponse.Write Y Sub SetLocalVariable Dim Y Y = 2End Sub % 由于变量没有显式声明,以下的脚本命令将返回 2。当过程调用将 Y 设 置为 2 时,脚本引擎认为该过程是要修改全局变量: % Y = 1Call SetLocalVariableResponse.Write Y Sub SetLocalVariable Y=2 End Sub% 然而,全局变量仅在单个 ASP 页中可用,要使它在单个 ASP 页之外 可用,就必须为变量赋予会话或应用程序作用域。会话作用域变量对一个用 户所请求的 ASP 应用程序中的所有页都是可用的。应用程序作用域变量也 如此。对单个用户来说,会话变量是存储信息的最佳途径,例如,用户首选 项、用户名或用户的标识。对于一个特殊应用程序的所有用户,应用程序作 用域是存储信息的最佳途径,例如,应用程序特定的问候语或应用程序所需 的初始值。ASP 提供两个内建对象来让您存储变量:Session 对象和 Application 对象,这将在今后的 ASP 内建对象中着重讨论。 让我们再来看看常量的定义,常量是用来代替一个数或字符串的名称, 它在整个脚本中保持不变。您可以使用 Const 语句在 VBScript 中创建用 户自定义常数。使用 Const 语句可以创建名称具有一定含义的字符串型或 数值型常数,并给它们赋原义值。例如:。 如: % Const mystring= 这是一个常量 %

  第一次运行 chat.asp 程序,你首先将看到如下页面 : 选择你的 nick 进入聊天室后,将看到如下页面 : 输入你想要说的话,对话将出现在输入框的下方,如下图 : 下面我们来对这个聊天室程序进行逐步的分析。 首先,由于聊天室的所有客户都要能够共享信息,所以不可避免的要用 到具有应用程序级变量的对象 Application,这是建立 Chat 程序的关键所 在,所有的谈话数据都存放在一个应用程序级变量中,以便让所有的客户读 取。我们可以用所学过的 request 对象获取客户所输入的谈话,并保存在变 量 talk 中 , 然后将 talk 的值存入应用程序级变量 show 中,如下 : % Application(show)=talk&Application(show) % 接下来要考虑的是当不同的客户同时向 Chat 应用程序进行操作的时 候如何处理。这个问题其实与在数据库中的两个用户同时写入同一个记录一 样,如果两个用户同时对同一个应用程序级变量进行写操作,则一个用户所 作的修改会被另一个用户的操作所覆盖,所以,如果对 Application 对象数 据的并发访问不采取一定措施,则会导致当两个用户试图同时对 Asp 聊天 室应用程序提交时,一个用户的提交内容会被另一个用户的提交内容所覆

  逗号分隔。例如,在下面的示例中,fDegrees 是传递给 Celsius 函数的值的 占位符:

  Function Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9 End Function 要从过程获取数据,必须使用 Function 过程。请记住,Function 过程 可以返回值;Sub 过程不返回值。 以上给大家简要介绍了 VBScript,由于篇幅的原因,作者不可能在此 详尽介绍 VBScript 的所有知识。但是由于 ASP 本身并不是一种编程语 言,因此在大家编写 ASP 应用程序的过程中,必须借助脚本语言来实现许 多特殊的功能,所以灵活熟练地掌握脚本语言对一个使用 ASP 编写 WEB 应用程序的程序员来说是至关重要的。无论您是一个有丰富编程经验的高手 还是一个初学者,只要您现在希望通过 ASP 编写 WEB 应用程序,作者极 力建议您掌握至少一门脚本语言(如 VBScript)。在本篇的末尾作者将留一 道课后作业给大家,希望各位能通过自学有关书籍并在实践中迅速掌握脚本 语言。

  HTTP 的标题文件中会记录一些客户端的信息,如 : 客户的 IP 地址等等, 有时服务器端需要根据不同的客户端信息做出不同的反映,这时候就需要用

  Request.ServerVariables ( 服务器环境变量 ) 由于服务器环境变量较多,作者仅将一些常用的变量在下表中列出:

  这是各位在本文中接触的第一个真正的 ASP 程序,千万不要被“ % % ”符号搞糊涂,这其实是标准的 ASP 定界符,而“ SCRIPT /SCRIPT ”之间的就是脚本语言。 ASP 不同于脚本语言,它有自己特定的

  让我们先来看看 Application 对象。在同一虚拟目录及其子目录下的所 有 .asp 文件构成了 ASP 应用程序。我们非但可以使用 Application 对象, 在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久的保 存数据。而且,Application 对象还有控制访问应用层数据的方法和可用于 在应用程序启动和停止时触发过程的事件。

  Microsoft Active Server Pages 即我们所称的 ASP ,其实是一套微软开 发的服务器端脚本环境, ASP 内含于 IIS 3.0 和 4.0 之中 , 通过 ASP 我 们可以结合 HTML 网页、 ASP 指令和 ActiveX 元件建立动态、交互且高 效的 WEB 服务器应用程序。有了 ASP 你就不必担心客户的浏览器是否能 运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在 普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返 回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的 速度。 以下罗列了 Active Server Pages 所独具的一些特点:

  询语言 SQL 指令。IIS3.0 / 4.0 WEB 服务器执行. ASP 文档,通过 ODBC 驱 动程式,连接到支持 ODBC 的数据库上,执行 ASP 文档所指定的 SQL 指令, 最后将执行的结果以 HTML 的格式传送给用户浏览器。ADO 具有容易使用、 开发执行快速、消耗系统资源较少,和占用磁盘空间小等优点。

  任务结束后 cookie 将到期。 HasKeys 指定 cookie 是否包含关键字。 Path 若被指定,则 cookie 将只发送到对该路径的请求中。如果未设置

  该属性,则使用应用程序的路径。 至此,我们已经学习的 Response 对象的所有属性、方法和集合的理论

  在大部分 ASP 应用程序中我们都会接触到数据库,而我们在编写 ASP 应用程序时用来进行数据库操作的标准语法正是 SQL,因此 SQL 语 法的重要性是不言而喻的。下面,我们就从最常用的 SQL 语句 SELECT 着 手,一步一步地来学习 SQL。

  开放式数据库接口。允许应用程序从各种跨 平 台数据访问的已有数据源标准规格中访问数据 的 应用程序编程接口。

  什么是对象?它可不是指你恋爱的男伴或女伴。在面向对象编程中, 对象就是指由当作完整实体的操作和数据组成的变量。对象是基于特定模型 的,在对象中客户使用对象的服务通过由一组方法或相关函数的接口访问对 象的数据,然后客户端可以调用这些方法执行某中操作。ActiveX 组件是建 立 Web 应用程序的关键,组件提供了在脚本中执行任务的对象。ActiveX 组件是一个文件,该文件包含执行某项或一组任务的代码,由于组件可以执 行公用任务,这样程序员们就不必自己去创建执行这些任务的代码。可以利 用组件作为脚本和基于 Web 应用程序的基本构造块。只要知道如何访问组 件提供的对象,即使是位编写脚本的新手,也可以在不了解组件运作方式的

  Request.Form(element)[(index).Count] 参数 element 指定集合要检索的表格元素的名称。 index 可选参数,使用该参数可以访问某参数中多个值中的一个。它可 以是 1 到 Request.Form(parameter).Count 之间的任意整数。 Count 集合中元素的个数 Form 集合按请求正文中参数的名称来索引。Request.Form(element) 的 值是请求正文中所有 element 值的数组。通过调用 Request.Form(element).Count 来确定参数中值的个数。如果参数未关联多个 值,则计数为 1。如果找不到参数,计数为 0。要引用有多个值的表格元素 中的单个值,必须指定 index 值。index 参数可以是从 1 到 Request.Form(element).Count 中的任意数字。如果引用多个表格参数中的一 个,而未指定 index 值,返回的数据将是以逗号分隔的字符串。 可以使用重述符来显示表格请求中的所有数据值。例如,用户通过指 定几个值填写表格,见下图。

  我们来分析一下此段程序,我们的目的是要根据当前的月份打印一张 表格,首先我们建立一个计数器“count”并将其值设为 1,然后我们用函数 month() 和 now() 得到当前的月份,最后建立循环,当 count 的值小于当 前月份的值加 1 的时候,即显示月份值及一条横线并将 count 的值加 1, 循环语句重复执行直到以上条件为假时退出循环。其中如果 count 大于 13 则用 exit do 立即退出循环。

  下面我来向大家介绍 Global.asa 文件的使用方法。 什么是 Global.asa 文件?它其实是一个可选文件,程序编写者可以在 该文件中指定事件脚本,并声明具有会话和应用程序作用域的对象。该文件 的内容不是用来给用户显示的,而是用来存储事件信息和由应用程序全局使 用的对象。该文件的名称必须是 Global.asa 且必须存放在应用程序的根目 录中。每个应用程序只能有一个 Global.asa 文件。 在 Global.asa 文件中,如果包含的脚本没有用 SCRIPT 标记封装, 或定义的对象没有会话或应用程序作用域,则服务器将返回错误。我们可以 用任何支持脚本的语言编写 Global.asa 文件中包含的脚本。如果多个事件 使用同一种脚本语言,就可以将它们组织在一组 SCRIPT 标记中。 在 Global.asa 文件中声明的过程只能从一个或多个与 Application_OnStart、Application_OnEnd、Session_OnStart 和 Session_OnEnd 事件相关的脚本中调用。在基于 ASP 的应用程序的 ASP 页中,它们是不 可用的。如果要在应用程序之间共享过程,可在单独的文件中声明这些过程, 然后使用服务器端包容 (SSI) 语句将该文件包含在调用该过程的 ASP 程 序中。通常,包含文件的扩展名应为。 下面是一个很标准的 Global.asa 文件 :

  含 HTML 标记中所使用的字符,就会遇到问题。这是因为,当浏览器读到 这样的字符串时,会试图进行解释。例如下面的这段文本 :

  这是对 HTMLEncode 方法的测试。 br 这里应该不会另起一行。 会被浏览器显示为 : 这是对 HTMLEncode 方法的测试。 这里应该不会另起一行。 为了避免此类问题,我们就需要使用 Server 对象的 HTMLEncode 方 法,采用对应的不由浏览器解释的 HTML Character Code 替代 HTML 标 记字符。所以,用下面的代码才能显示正确的 HTMLEncode 字符串,从而 在浏览器中按你的需要输出文本。

  将以上代码剪贴到记事簿中(注意将“ ”后面的空格去掉),保存为 form.asp 文件并运行,request 对象可以根据你在 form 中填入或选择元素 内容的不同将元素逐个显示出来。

  原定计划从本篇开始就要给大家介绍 ASP 内建的 ActiveX 组件,但 是考虑到我们在往后的学习中将会接触到大量的数据库查询,因此作者临时 决定花一到两篇的篇幅向大家简要介绍一些数据库查询语言的基本知识,这 其实也是学习 ASP 所必须掌握的一门知识。是否能够灵活地运用数据库查 询语言,将直接关系到 ASP 程序的执行效率等一系列问题,所以请各位务 必重视。

  A=sqr(9) 则 A=3。熟练掌握脚本语言的函数将给你编写 ASP 程序带来极大的 方便,就以上一期结尾处作者布置给大家的课后练习来说,如果你对脚本语 言的函数掌握不够全面,那么解决如此之小的一个问题将很有可能花费你相 当大的精力。现在让我们来回顾一下这道课后练习。 “作者正在用 ASP 制作一套基于 WEB 的 BBS 系统,希望能在其中 添加一项特殊功能,即当任何用户登陆该 BBS 后都能够查阅近七天来所有

  一、Request 对象 可以使用 Request 对象访问任何基于 HTTP 请求传递的所有信息,包 括从 HTML 表格用 POST 方法或 GET 方法传递的参数、cookie 和用户 认证。Request 对象使您能够访问客户端发送给服务器的二进制数据。 Request 的语法 : Request[. 集合 属性 方法 ]( 变量 ) 在这里作者将挑选一些常用的对象语法进行分析 1、Form Form 集合通过使用 POST 方法的表格检索邮送到 HTTP 请求正文 中的表格元素的值。 语法

  可以到在 IIS3.0 中提供了三种服务:WWW、Gopher、FTP,WWW 服 务为客户浏览器提交 WEB 页,并允许客户访问 .asp 文件。当然,你可以 直接安装最新的 IIS4.0 版本,作者也建议各位安装此版本,因为它具有更 强更高的 WEB 管理机能和安全性。在 IIS4.0 中 IIS 的管理界面发生了根 本性的改变,熟悉的 Internet 服务管理器,被取而代之为 Microsoft 管理控 制台,简称 MMC。其界面如下图:

  6.Active Server Pages 的源程序,不会被传到客户浏览器,因而可以避 免所写的源程序被他人剽窃,也提高了程序的安全性。

  行。另外,程序将客户信息记录在客户端的 cookie 所使用的方法是 Response.Cookie,此语句必须写在 ASP 文件中的第一个 HTML 标记 前,这是因为 Cookie 是作为 HTTP 传输的头信息的一部分发送给客户的, 如果当 HTTP 报头信息已经传输给客户后再使用 Response.Cookie,将出现 以下错误 :“HTTP 标题已经写入到客户浏览器。任何 HTTP 标题的修改必 须在写入页内容之前。”,可能一些朋友在剪贴程序的时候没有注意,打乱了 程序的前后次序 , 或者是错误的将 HTML 代码添加在 ASP 范例程序之 前,因而导致程序运行出错。因此,我建议大家一方面在首次运行例程的时 候不要对程序进行任何改动,尽量在看懂程序的基础上逐步改进,另一方面 在运行 ASP 程序时至少要在浏览器中选择可接受 Cookie,否则一旦 ASP 程序中使用了 Cookie 或 Session,它们都将无法正常运行。

  这其实是一个在基于 WEB 的 BBS 或 CHAT 的 ASP 程序中常用 的手法,它将用户在起始页面上填入的姓名保存在 cookie 中,这样后面的

  程序就可以很容易地调用该用户的 nick 了。 4、ServerVariables 大家都知道在浏览器中浏览网页的时候使用的传输协议是 HTTP,在

  现在你已经对“动态”网站有了一个基本的概念,接下来应挑选称手的 “兵刃”了。将网站“动态”化的方法很多,这要看你是出于何种需求。如 果你是个人网站的维护者,使用的是免费主页空间,那么绝大多数情况下你 只能使用 Java、Java Script 和最新的 DHTML 技术,如果你的主页空间提供 者能给予你 CGI 权限或 ASP 支持,那么你将能非常幸运地发挥真正的动态 技术。关于 CGI 和 ASP 技术将在后面的着重讨论,这里针对个人网站仅就 最新的 DHTML 技术进行重点介绍。

  通过前九篇的理论和实践,相信大家已经对 ASP 有了系统的了解,虽 然至今为止,我们只学了 ASP 的 4 个内建对象,但已经完全能够写出一 些实用的小程序了。今天,作者将继续给大家讲解最后一个 ASP 内建对象 ——Server。

  在上一篇中作者给大家详细介绍了 ASP 内建对象 Response 的使用 方法,在这一篇中作者将继续给大家介绍另两个非常实用且重要的 ASP 的 内建对象 Application 和 Session。

  在 ASP 的内建对象中除了用于发送、接收和处理数据的对象外,还有 一些非常实用的代表 Active Server 应用程序和单个用户信息的对象。

  您的网站是否仍一如既往地保持“静态”?目前呈几何增长的互联网网 站中,有相当一部分仍固守“静态”,无形中已大大落后于时代的步伐。所 谓“静态”指的就是网站的网页内容“固定不变”,当用户浏览器通过互联 网的 HTTP(Hypertext Transport Pr otocol)协议向 WEB 服务器请求提供网 页内容时,服务器仅仅是将原已设计好的静态 HTML 文档传送给用户浏览 器。其页面的内容使用的仅仅是标准的 HTML 代码,最多再加上流行的 GIF89A 格式的动态图片,比如产生几只小狗小猫跑来跑去的动画效果。若 网站维护者要更新网页的内容,就必须手动地来更新其所有的 HTML 文档。

  4、CreateObject 方法 Server.CreateObject 恐怕是 ASP 中最为实用,也是最强劲的功能了。 它用于创建已经注册到服务器上的 ActiveX 组件实例。这是一个非常重要 的特性,因为通过使用 ActiveX 组件能够使你轻松地扩展 ActiveX 的能 力,正是使用了 ActiveX 组件,你可以实现至关重要的功能,譬如数据库 连接、文件访问、广告显示和其他 VBScript 不能提供或不能简单地依靠单 独使用 ActiveX 所能完成的功能。正是因为这些组件才使得 ASP 具有了 强大的生命力。 其语法如下:

  循环语句的作用就是重复执行程序代码,循环可分为三类:一类在条 件变为“假”之前重复执行语句,一类在条件变为“真”之前重复执行语句, 另一类按照指定的次数重复执行语句。在 VBScript 中可使用下列循环语 句:

  Do...Loop: 当(或直到)条件为“真”时循环。 While...Wend: 当条件为“真”时循环。 For...Next: 指定循环次数,使用计数器重复运行语句。 For Each...Next: 对于集合中的每项或数组中的每个元素,重复执行一 组语句。 我们先来看看 Do...Loop,它是可以多次(次数不定)运行语句块。当 条件为“真”时或条件变为“真”之前,重复执行语句块。请看下例:

  在上面的例子中,上述例子中,Unlock 方法解除对象的锁定,使得下 一个客户端能够增加 NumVisits 的值。

  通过这两篇对 ASP 的介绍,大家已经看到编写 ASP 程序是相当轻松 的,要掌握 ASP ,无非就是掌握 ASP 内置的五个对象,以及 ASP 提供 的 ActiveX 组件的对象、方法和属性,当然扎实的脚本语言编写能力也是 必须的。在今后的课程中作者将用五到六篇的篇幅着重介绍这些内置对象和 组件的作用及使用方法,敬请关注。

  Abandon 方法,一旦会话超时,服务器将删除这些对象。当服务器处理完 当前页时,下面示例将释放会话状态。

  在本文上两篇中,我们学习了脚本语言 VBScript 的变量、函数、过程 和条件语句,本篇将继续给大家介绍 VBScipt 的循环语句,并对脚本语言 在 ASP 中的应用加以总结。

  如果有人告诉你学习 ASP 不需要任何编程知识,那么他错了;如果我 告诉你学习 ASP 必须掌握一门编程语言,那么我错了。ASP 动态服务器 页面环境的特点就在于它是通过一种或几种脚本语言而写成的,脚本语言可 以看作是编程语言的简化版,它易于学习和掌握,这给广大动态网站的设计 者们提供了相当大的便利。可以这么说 : 脚本语言运用的得当与否直接关 系到 ASP 应用程序的优与劣。继上一篇我们学习了脚本语言 VBScript 的 函数和条件语句后,今天我们继续来看看 VBScript 中的循环语句。

  IIS 支持虚拟目录,通过在“服务器属性”对话框中的“目录”标签可 以管理虚拟目录。建立虚拟目录对于管理 WEB 站点具有非常重要的意义。 首先,虚拟目录隐藏了有关站点目录结构的重要信息。因为在浏览器中,客

  户通过选择“查看源代码”,很容易就能获取页面的文件路径信息,如果在 WEB 页中使用物理路径,将暴露有关站点目录的重要信息,这容易导致系 统受到攻击。其次,只要两台机器具有相同的虚拟目录,你就可以在不对页 面代码做任何改动的情况下,将 WEB 页面从一台机器上移到另一台机器。 还有就是,当你将 WEB 页面放置于虚拟目录下后,你可以对目录设置不 同的属性,如:Read、Excute、Script。读访问表示将目录内容从 IIS 传递 到浏览器。而执行访问则可以使在该目录内执行可执行的文件。当你需要使 用 ASP 时,就必须将你存放 .asp 文件的目录设置为“Excute(执行)”。 作者建议大家在设置 WEB 站点时,将 HTML 文件同 ASP 文件分开放置 在不同的目录下,然后将 HTML 子目录设置为“读”,将 ASP 子目录设 置为“执行”,这不仅方便了对 WEB 的管理,而且最重要的提高了 ASP 程 序的安全性,防止了程序内容被客户所访问。因为在今年 7 月底的时候 IIS 被一些网络高手发现了一个可怕的 bug,那就是,当你在一个站点的 .asp 文件后加上 ::$DATA 后,客户将能在浏览器中看到该 .asp 文件的所有源 代码,这对于一个站点来说是非常可怕的。当然微软已经针对这个 bug,编 写了补丁,但是为了彻底杜绝这种可能性的发生,作者还一建议大家不要 将 .asp 所在的目录设置为可读。

  要使计数器变量递减,可将 Step 设为负值。此时计数器变量的终止值 必须小于起始值。在下面的示例中,计数器变量 myNum 每次减 2。循环 结束后,total 的值为 16、14、12、10、8、6、4 和 2 的总和。

  在这个 Global.asa 程序中,涉及到了 ASP 的 File Access 组件,它可 以提供用于访问文件系统的方法、属性和集合。这将在以后 ASP 的组件中 进行展开讨论。在这里,它起到了在服务器上创建新文件并对文件进行写操 作的作用。这其实是一个 ASP 页面访问记数器应用程序的 Global 文件, 首先当客户首次访问该应用程序的首页时 , 过程 Application_OnStart 定义 了在服务器上指定的虚拟目录下新建一个 VisitCount.txt 的文本文件,并将 文件的路径和内容保存在应用程序级的变量中。而当任何一个客户访问 ASP 应用程序中的任何一个页面时,过程 Session_OnStart 定义将应用程序 级的变量 visitors 的值自动加一。这样,每当有客户访问页面时,变量 visitors 都将自动加一,以起到统计点击率的作用。由于变量 visitors 的值 是存储在系统内存之中,所以如果服务器关闭或重新启动,存储在变量中的 数据将自动丢失,所以通过定义过程 Application_OnEnd,在服务器关闭或 重启之前将数据写入事先建立的文本文件之中,这样就能确保当服务器再次 启动时,Application_OnStart 过程可以从 VisitCount.txt 文件中读取以前的 统计数。

  知识,下面作者将给大家演示一段简单的程序,通过实践让大家加深理解。 先将以下程序剪贴到记事簿中,并保存为 asp7.asp。( 注意将 和 % 之 间的空格去掉 !!!)

   % Set Response = Server.CreateObject(Response) % 至今为止,我们已经学习完了 ASP 所有的内建对象,不知大家是不是 很兴奋?其实 ASP 是很简单的,只要大家不断的实践,相信一段时间后都 不难成为 ASP 的高手。从下一篇起作者将开始介绍 ASP 内建 ActiveX 组 件,这也是 ASP 运用中非常重要和实用的一部分。敬请关注。

  “静态”网站的致命弱点就是不易维护,为了不断更新网页内容,你必 须不断地重复制作 HTML 文档,随着网站内容和信息量的日益扩增,你就 会感到工作量大得出乎想象。

  你不禁要问:那么什么是动态网站呢?这就是本文将重点讲述的核心, 所谓“动态”,并不是指那几个放在网页上的 GIF 动态图片,在这里笔者为 动态页面的概念制定了以下几条规则:

  下面,我们开始学习 ASP 的另一个内建对象 Response。 与 Request 是获取客户端 HTTP 信息相反 ,Response 对象是用来控 制发送给用户的信息,包括直接发送信息给浏览器、重定向浏览器到另一个 URL 或设置 cookie 的值。 语法

  让我们先来看看 Microsoft IE 4 对 DHTML 的支持: 1 .动态内容(Dynamic Content):动态地更新网页的内容,可动态地 随时插入、修改、或删除网页的元件,譬如文字、标记等。 2 .动态排版样式(Dynamic Styles 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 轴的定位功能,让设计者可以放置影像、控件、文字等在网页上的任何位 置上。而放置在不同的 Z 轴上,设计者就可以产生重叠的效果。 4 .内建资料处理(Data Awareness):无须复杂的程序,无须花费服务器 太多资源,即可让网页设计者即时处理文档。 5 .内建多媒体支援:IE 4.0 结合 CSS 与内建的 ActiveX Controls,提供 多媒体支持的功能,包括转换特效、滤镜特效、路径控制、顺序控制、动画、 制图、播放声音和影像等多媒体功能。 让我们再来看看 Netscape Communicator 4.0 对 DHTML 所提供的支持: 1 .动态排版样式(Dynamic Styles Sheets):支援 W 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”的规格相近 外,其余都相差甚远。因此当你设计 DHTML 页面时必须充分考虑到兼容性 的问题,选择称手的“兵刃”和方法对于设计者来说始终是最重要的。有关 DHTML 的使用方法和设计技巧作者将在第二章《动态网页设计十八般武 艺》中仔细讲解,请密切关注。 或许对于一个个人网站来说充分运用 DHTML 技术足以令网页栩栩如 生,动感十足。然而对于建立商业网站的企业而言,仅仅拥有 DHTML 是远 远不够的。因为仅仅发生在客户浏览器端的动态效果是无法满足商业网站大

  % 3、Cookies 什么是 Cookie?Cookie 其实是一个标签,当你访问一个需要唯一标识 你的站址的 WEB 站点时,它会在你的硬盘上留下一个标记,下一次你访 问同一个站点时,站点的页面会查找这个标记。每个 WEB 站点都有自己 的标记,标记的内容可以随时读取,但只能由该站点的页面完成。每个站点 的 Cookie 与其他所有站点的 Cookie 存在同一文件夹中的不同文件内(你 可以在 Windows 的目录下的 Cookie 文件夹中找到它们)。一个 Cookie 就是一个唯一标识客户的标记,Cookie 可以包含在一个对话期或几个对话 期之间某个 WEB 站点的所有页面共享的信息,使用 Cookie 还可以在页 面之间交换信息个人ASP学习。Request 提供的 Cookies 集合允许用户检索在 HTTP 请 求中发送的 cookie 的值。这项功能经常被使用在要求认证客户密码以及电 子公告板、WEB 聊天室等 ASP 程序中。 语法

  若您将一个数组存储在 Application 对象中,请不要直接更改存储在数 组中的元素。例如asp 注释,下列的脚本无法运行。

  StoredArray(3) 未获得新的赋值。而此值将包含在 Application 对象集合中, 并将覆盖此位置以前存储的任何信息。建议您在将数组存储在 Application 对象中时,在检索或改变数组中的对象前获取数组的一个副本。在对数组操 作时,您应再将数组全部存储在 Application 对象中,这样您所做的任何改 动将被存储下来。下列的脚本对此进行演示。

  SQL 并不是象 C、COBOL 和 Fortran 语言那样的完整的计算机语言。 SQL 没有用于条件测试的 IF 语句,也没有用于程序分支的 Goto 语句以 及循环语句 For 或 Do。确切的讲,SQL 是一种数据库子语言,SQL 语句 可以被嵌入到另一种语言中,从而使其具有数据库存取功能。SQL 也非严 格的结构式语言,它的句法更接近英语语句,因此易于理解,大多数 SQL 语 句都是直述其意,读起来就象自然语言一样明了。SQL 还是一种交互式查 询语言,允许用户直接查询存储数据,利用这一交互特性,用户可以在很短 的时间内回答相当复杂的问题,而同样问题若让程序员编写相应的报表程序 则可能要用几个星期甚至更长时间。

  1、这是作者访问最频繁的 ASP 网站,也是世界上最大最全的关于 ASP 的网站之一,它里面不但有最新的 ASP 文献资料,免费组件,还有一本完 整的 ASP 入门教材,它更是 ASP 网站的中枢站点,通过它你可以到达无 数的 ASP 相关站点。 2、这本是一个针对 ASP 漏洞而建立的站点,但是它却无疑是一个完备的 ASP 信息站点,它非但提供了 ASP 的文章,及组件还提供详尽透彻的联 接地址。 3、和 这是一个作者所看到的最大的网上 ASP 交流站点,它拥有 ASP 解疑 的答案,ASP 邮件清单信息,ASP 技巧,你可能需要需要几个月的时间才 能读完这些信息。而在 你可 以读到最新的 ActiveX 组件和大量免费组件的详细介绍,并附有非常实用 的文档与例子。 4、大家都知道 Active Server Page 是微软提出的一套基于 NT IIS 的 WEB 服务器端环境,那么这个由微软自己建立的 ASP 技术说明站点,大 家当然是不可不看的。 5、在这里你可以获得无数实用的 ActiveX 组件 , 并下载它们的试用版, 只可惜其中的大部分极好的组件都是要 Money 的。 6、大家还记得作者在 ASP2 一文中介绍的那个用来辨别客户端浏览器版 本的 Browser Capabilitie 组件吗?在这个站点你可以获得最新的 BROWSCAP.INI 文件,它拥有每一个 ASP 安装时微软没有提供的浏览器 的信息,这样你在 ASP 中判断客户浏览器是就能够万无一失了。 7、最强大且便捷的功能莫过于同数据库的连接,通过 ASP 内建的 ActiveX 组件,我们可以轻而易举的将 WEB 与所有和 ODBC 兼容的数据 库连接起来,在这个微软的站点上你可以获取很多实用的 ADO 资料。 8、一个不错的 ASP 论坛,你可以在那里贴你的问题,读取别人的问题和 解答。

  户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息 , 从而使对象开发者摆脱了很多烦琐的工作。目前的 ASP 版本总共提供了六 个内建对象,下面让我们将通过实例分别来进行学习。

  一旦我们分配了 Application 对象的属性,它就会持久地存在,直到关 闭 WEB 服务器服务使得 Application 停止。由于存储在 Application 对象 中的数值可以被应用程序的所有用户读取,所以 Application 对象的属性特 别适合在应用程序的用户之间传递信息。

  下面就让我们一起来学习 Application 对象。 一、属性 虽然 Application 对象没有内置的属性,但我们可以使用以下句法设置 用户定义的属性也可称为集合。 Application( 属性 / 集合名称 )= 值

  大家现在都看到了我们仅仅用了两个很简单的程序,就可以做到对同一 个页面的多种不同显示结果,这正是 ASP 的魅力所在,各位可以以此示范 程序为基础,来进行一些改动,以熟练掌握我们所学的这两个内建对象。今 天的课程就到此为止了,在结尾我还要说明两件事。第一,很多朋友来信询 问哪里可以看到 ASP 篇的前几篇文章,请大家点击 此处 便可以找到。第 二,一些朋友反映文中的 ASP 程序不能运行,这主要是因为 Chinabyte 的 页面都是用数据库生成的,它限定在文章中不能使用带 HTML 或 ASP 格 式的代码,所以在所有 符号后都加了空格,各位只要将 后的空格去 掉就可以运行程序了,切记。

  在上一篇中作者给大家详细介绍了两个非常实用的 ASP 内建对象 Application 和 Session 的使用方法。由于这两者的 OnStart、OnEnd 事件 的脚本都必须在 Global.asa 文件中声明 , 因此,本篇将给大家详细介绍 Global.asa 文件的使用方法。为使大家熟练掌握至今所学过的知识,本篇还 将举出一个 ASP 的 Chat 程序,供各位参考。

  与 Application 对象具有相近作用的另一个非常实用的 ASP 内建对象 就是 Session。我们可以使用 Session 对象存储特定的用户会话所需的信 息。当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会 清除,而用户在应用程序中访问页面时,这些变量始终存在。当用户请求来 自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动 创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。

   % next % 这是一个最最基本的循环语句,它将一个笑脸图片重复调用六次并显示 在页面上。当然此例的效果完全可以用 HTML 做到,但是不难发现使用 ASP 大大缩短了代码的重复编写,使得程序具有良好的可阅读性。另外, 当你制作一个诸如根据用户投票来给所评测的对象评定星级的评测站点时, 使用此法,你就完全不需要为每一个星级制作一幅图片。如果一个对象被评 为 4 星级,那只需将一颗星的图片循环显示 4 次,以此类推即可。当然, 当工作量较小的时候你不会感觉到 ASP 的好处,然而一旦数据量巨增,你 将会深刻的体会到 ASP 动态网站给你带来的前所未有的感受 !

  ActiveX Data Object(简称 ADO)究竟是什么呢?ActiveX Data Object 的技术,让您可以与 Active Server Pages(简称 ASP)结合以建立提供数据 资讯的网页内容,只需在网页面中执行 Structured Query Language(结构化 查询语言,简称 SQL)指令,让用户在浏览器界面中输入、更新、和删除 WEB 服务器上的数据资料。当用户端的浏览器填好表单所要求输入的资料 并按下“Submit”按钮后,经过互联网、内联网传送 HTTP 请求到 WEB 服务 器,该请求在 WEB 服务器执行一个表单所指定的 Active Server Pages 程序 (后缀名为. ASP 的文档)。一个. ASP 文档是一个纯文字档,包括:HTML 标记(tags)、VBScript 或 JScript 语言的程序代码、ASP 语法、和结构化查

  内容的数据类型。如:“text/html”。同附加信息 的查询一起使用,如 HTTP 查询 GET、POST 和 PUT。 返回接受请求的服务器地址。如果在绑定多 个 IP 地址的多宿主机器上查找请求所使用的地址 时,这条变量非常重要。

  情况下编写脚本。总之,组件使您不用学习编程就能够编写强大的脚本。组 件是包含在动态链接库 .dll 或可执行文件 .exe 中的可执行代码。组件可以 提供一个或多个对象以及对象的方法和属性。要使用组件提供的对象,请创 建对象的实例并将这个新的实例分配变量名。使用 ASP 的 Server.CreateObject 方法可以创建对象的实例,使用脚本语言的变量分配指 令可以为对象实例命名。如下例:

  if Request.ServerVariables(Request_Method)=GET then 由于我们设置了 ASP 缓存,所以当程序判断页面请求方式为 GET 时,程序运行 Response.End,来结束后面的所有操作,否则则运行 Response.clear, 清空缓存中已有的内容,并继续程序的运行。这样我们就得 以用同一个 .asp 文件根据不同情况给客户显示不同的界面。 好了,我已经将这个 ASP Chat 程序的核心部分告诉大家了,剩下的一 些细节性问题请各位自己读程序吧,其实这个程序还存在很多不足之处,最 大的毛病是我没有写自动刷新的功能,因此如果你在 Chat 中不说话,那也 就看不到其他客户所说的话了。Chat 在 Internet 中的魅力大家是知道的, 其实 , 用 ASP 也完全能做到同 irc 类似的强大功能,当然这就需要写更 多的代码,如果大家有兴趣请写信给我,我将在今后的文章中逐步提升这个 chat 程序的等级,让大家也过过“Oper”的隐。注:有了这个 chat 程序, 你就可以用来在自己的 PWS 上建一个 chat 应用程序,只要将你的 IP 地 址告诉朋友,如 ,你们就可以通过你的电脑 在网上聊天了,很爽的,不信你试试 !

  呢?因为此时程序判断到用户既非 Adm, 也不是 guest 和 vip,所以执行 Response.End, 立即将存储在缓存中的 Form 显示出来,并停止其后的一切 脚本处理,包括纯 HTML 代码的显示。

  无论你是用 Adm 还是 guest 或 vip 登陆该页面你都可以看到一个超 链,该超链指向文件 asp7b.asp,当我们点击该超链时,asp7.asp 将变量 flag 的值作为参数发送给 asp7b.asp, 而后者则根据该参数的值来做出判断,并 依据不同情况使用 Response.Redirect 再强行返回 asp7.asp, 并也将一个变 量 say 的值作为参数发送给 asp7.asp。如此一来,asp7.asp 又会根据此参 数来做出不同的反应。

  上述程序只能在支持 cookie 的浏览器中运行。因为不支持 cookie 的 浏览器不能返回 SessionID cookie,所以,每当用户请求 Web 页时,服务 器都会创建一个新会话。这样,对于每个请求服务器都将处理 Session_OnStart 脚本并将用户重定向到启动页中。

  2、Session_OnEnd 事件在会话被放弃或超时发生。 关于使用 Session 对象需要注意的事项 Application 对象相近,请参照 前文。 会话可以通过以下三种方式启动 : 1、一个新用户请求访问一个 URL,该 URL 标识了某个应用程序中 的 .asp 文件,并且该应用程序的 Global.asa 文件包含 Session_OnStart 过 程。

  相信很多朋友都听说过 SQL 这个名字,如果你是计算机方面的行家, SQL 的大名一定是如雷贯耳。那么 SQL 究竟是什么呢?SQL 一词实际上 是 Structured Query Language 结构式查询语言的缩写,是用于对存放在计 算机数据库中的数据进行组织、管理和检索的一种工具;是一种特定类型的 数据库 -- 关系数据库。而控制这种数据库的计算机程序就是我们常说的 DBMS-- 数据库管理系统。譬如:SQL Server、Oracle、Sybase、DB2 等等。 当用户想要检索数据库中的数据时,就通过 SQL 语言发出请求,接着 DBMS 对该 SQL 请求进行处理并检索所要求的数据,最后将其返回给用 户,此过程被称作为数据库查询,这也就是数据库查询语言这一名称的由来。

  在上一期中作者向诸位简要介绍了 ASP 脚本语言之一 VBScript 的 一些基本常识,本期将继续给大家讲解 VBScript 的脚本编写方法,并通过 展示 VBScript 在 ASP 程序编写过程中的一系列实例使大家对 VBScript 有更进一层的理解。

  允许开发人员为 World Wide Web 创建交互式 组件,内含丰富的 Microsoft 技术术语。允许 用不同语言编写的软件组件在网络环境中一起 工作的一组不依赖语言的 互操作技术。 ActiveX 的关键元素是组件对象模型 (COM) 和 分布组件对象模型 (DCOM)。这些技术已 得到开放组织的 许可,已移植到许多平台上。

   /SCRIPT 这里的 RUNAT=SERVER 属性通知 Web 服务器在服务器上处理脚 本。若不设置该属性,脚本将由客户端浏览器处理。LANGUAGE 属性决定 此脚本块所用的脚本语言。您可以指定任何一种具有脚本引擎的语言。请使 用 VBSCRIPT 指定 VBScript;用 JSCRIPT 指定 JScript。若不设置 LANGUAGE 属性,将用主脚本语言解释此脚本块。 在 VBScript 中,过程被分为两类:Sub 过程和 Function 过程。Sub 过 程是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句,执行操作但 不返回值。Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。 如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ()。 Function 过程是包含在 Function 和 End Function 语句之间的一组 VBScript 语句。Function 过程与 Sub 过程类似,但是 Function 过程可以 返回值。Function 过程可以使用参数(由调用过程传递的常数、变量或表达 式)。如果 Function 过程无任何参数,则 Function 语句必须包含空括号 ()。 Function 过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名 的。Function 返回值的数据类型总是 Variant。在下面的示例中 Sub 过程使 用两个固有的(或内置的)VBScript 函数,即 MsgBox 和 InputBox,来提 示用户输入信息。然后显示根据这些信息计算的结果。计算由使用 VBScript 创建的 Function 过程完成,Celsius 函数将华氏度换算为摄氏度。Sub 过程 ConvertTemp 调用此函数时,包含参数值的变量被传递给函数。换算结果返 回到调用过程并显示在消息框中。

   % Response.ExpiresAbsolute=#Dec 12,1998 9:00:30# % 二、方法 1、Clear 可以用 Clear 方法清除缓冲区中的所有 HTML 输出。但 Clear 方法 只清除响应正文而不清除响应标题。可以用该方法处理错误情况。但是如果 没有将 Response.Buffer 设置为 TRUE,则该方法将导致运行时错误。 2、End End 方法使 Web 服务器停止处理脚本并返回当前结果。文件中剩余的 内容将不被处理。如果 Response.Buffer 已设置为 TRUE,则调用 Response.End 将缓冲输出。 3、Flush Flush 方法立即发送缓冲区中的输出。如果没有将 Response.Buffer 设 置为 TRUE,则该方法将导致运行时错误。 4、Redirect Redirect 方法使浏览器立即重定向到程序指定的 URL。这也是一个我 们经常用到方法,这样程序员就可以根据客户的不同响应,为不同的客户指 定不同的页面或根据不同的情况指定不同的页面。一旦使用了 Redirect 方 法任何在页中显式设置的响应正文内容都将被忽略。然而,此方法不向客户 端发送该页设置的其他 HTTP 标题,将产生一个将重定向 URL 作为链接 包含的自动响应正文。Redirect 方法发送下列显式标题,其中 URL 是传递 给该方法的值。如:

  以上就是目前设计商业网站常用的“动态”技术,由于本人的工作和 使用经验,笔者较倾向于 ADO 和 ASP 的结合,从长远来看这对搭档也势必 成为今后一段时间内“动态”WEB 的核心技术。因此在本文第二章《动态 网页设计十八般武艺》中,笔者将就 ADO 和 ASP 的使用进行展开讲述,敬 请期待。

  End Sub Exit For 语句用于在计数器达到其终止值之前退出 For...Next 语句。因 为通常只是在某些特殊情况下(例如在发生错误时)要退出循环,所以可以 在 If...Then...Else 语句的 True 语句块中使用 Exit For 语句。如果条件为 False,循环将照常运行。 最后,让我们来看看 For Each...Next 语句 ,For Each...Next 循环与 For...Next 循环类似。For Each...Next 不是将语句运行指定的次数,而是对 于数组中的每个元素或对象集合中的每一项重复一组语句。这在不知道集合 中元素的数目时非常有用。它的语法如下:

  部份)在服务器端执行。Microsoft Script Debugger,可以侦错用户端执行的 脚本程序以及服务器端执行脚本程序。在用户端浏览器执行的脚本程序是在 用户端的浏览器当中执行,包括在标准 HTML 代码中的 VBScript、Jscript 部份。在浏览器载入此 HTML 代码或譬如按下按钮触发事件时,将执行此 包括脚本程序的 HTML 代码。用户端浏览器执行的脚本程序,主要用于对 HTML 表单输入的基本检查等功能。

  通过上面的学习,大家应该已经能够理解函数在程序中的作用,当然 我们不必去死背函数,但要做到熟练运用只有一条捷径 -- 多实践。接下来 让我们来看看 VBScript 的基本语法。

  了解编程语言的朋友一定知道在程序中控制程序流程的语句主要可以 分为条件语句和循环语句,在 VBScript 中可使用以下条件语句: If...Then...Else 语句

  ASP 程序了。要学好 ASP 程序的设计asp代码注释怎么注释不出来,必须掌握脚本的编写,那么究竟 什么是脚本呢?其实脚本是由一系列的脚本命令所组成的,如同一般的程 序,脚本可以将一个值赋给一个变量,可以命令 WEB 服务器发送一个值 到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,你必须 要熟悉至少一门脚本语言,如 VBScript 。脚本语言是一种介乎于 HTML 和诸如 JAVA 、Visual Basic 、C 等编程语言之间的一种特殊的语言,尽 管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。如前所 述 ASP 所提供的脚本运行环境可支持多种脚本语言,譬如:JScript 、 REXX 、PERL 等等,这无疑给 ASP 程序设计者提供了广泛的发挥余地。 ASP 的出现使得广大 WEB 设计者不必在为客户浏览器是否支持而担心, 实际上就算你 在同一个 .asp 文件中使用不同的脚本语言,你都无须为此 担忧,因为所有的一切都将在服务器端进行,客户浏览器得到的只是一个程 序执行的结果,而你也只需在 .asp 中声明使用不同的脚本语言即可。下面 是一个典型的在同一 .asp 文件中使用两种脚本语言的例子: HTML BODY TABLE % Call Callme % /TABLE % Call ViewDate % /BODY /HTML SCRIPT LANGUAGE=VBScript RUNAT=Server Sub Callme

  在服务器端执行的脚本程序是在 IIS 服务器端执行,包括在 .asp 程序 中。先在 IIS 服务器上执行,执行结果产生标准的 HTML 代码,再传送到 用户端浏览器。服务器端执行的脚本程序,主要用于多个网页之间的连结, HTML 表单输入的处理,以及存取服务器上数据库的资料等。

  Microsoft Script Debugger 提供以下的除错功能: 1、设定中断点 2、逐步追踪脚本程序。 3、设定书签。 4、检视呼叫堆叠。 5、检视和更改变数值。 6、执行脚本指令。 从下一篇开始,我们将开始学习 ASP 的内建对象,敬请关注。

  经过这段时间的学习,相信大家已经能够比较熟练的运用我们所学过的 这些 ASP 内建对象来编写一些较简单的 ASP 应用程序,可别小看你现在 所掌握的这些 ASP 基本知识哦 ! 其实你已经能够开发一些简单但实用的 ASP 应用程序了。下面我就举一个非常简单的 ASP WEB 聊天室程序,你 会发觉写聊天室原来是一件这么容易、轻松的事。可能朋友们已经在一些杂

  1、“交互性”即网页会根据用户的要求和选择而动态改变和响应,将浏 览器作为客户端界面,这将是今后 WEB 发展的大事所趋。

  2、“自动更新”即无须手动地更新 HTML 文档,便会自动生成新的页 面,可以大大节省工作量。

  3、“因时因人而变”,即当不同的时间、不同的人访问同一网址时会产 生不同的页面,是不是很酷?

  发出请求的主机 (client) 名称。如果服务器无此 信息,它将设置为空的 MOTE_ADDR 变量。

  在本期的最后让我们再来看看 ASP 的循环功能,譬如你希望当客户在 晚间 7:00 至凌晨 0:00:00 浏览你的页面时,在页面中央显示 6 个笑脸 表示问候,那么你只需要将以下命令剪贴到“ Good Evening! ”后面即可: % for i=1 to 6 %

  第一章 引言…………………………………………………………………….3 第二章 简介……………………………………………………………….……8 第三章 ASP 基础………………………………………………………………13 第四章 脚本基础………………………………………………………………19 第五章 脚本变量、函数、过程和条件语句…………………………………22 第六章 脚本循环语句…………………………………………………………27 第七章 内建 Request 对象…………………………………………….………30 第八章 内建 Reponse 对象……………………………………………………36 第九章 内建对象 Application 和 Session……………………………………42 第十章 Global.asa 文件的使用及 Chat 程序…………………………………48 第十一章 内建对象 Server……………………………………………………53 第十二章 数据库查询语言(1) ……………………………………..…………57 第十三章 数据库查询语言(2) …………………………………………..……62 第十四章 ActiveX 组件………………………………………………..………66 第十五章 常用的 ASP ActiveX 组件……………………………………….…70 第十六章 其它的 ASP 常用组件…………………………………………...…75 第十七章 ADO 存取数据库时如何分页显示……………………………...…81 第十八章 堵住 ASP 漏洞…………………………………………………...…87 第十九章 最新的 ASP、IIS 安全漏洞………………………………………..91

  Datep=DateSerial(1998-20, 11-2,10-1) 对于 year 参数,若取值范围是从 0 到 99,则被解释为 1900 到 1999 年。对于此范围之外的 year 参数,则使用四位数字表示年份(例如 1800 年)。当任何一个参数的取值超出可接受的范围时,则会适当地进位到下一 个较大的时间单位。例如,如果指定了 35 天,则这个天数将被解释成一个 月加上多出来的日数,多出来的日数取决于其年份和月份。但是如果参数值 超出 -32,768 到 32,767 的范围,或者由三个参数指定(无论是直接还是通 过表达式指定)的日期超出了可以接受的日期范围,就会发生错误。 当我们了解并掌握了函数 DateSerial 的使用方法后,再来看看作者布 置的这道题目,一切就迎刃而解了。下面我将程序中的此部分代码公布如下:

  由用户或 ActiveX 控件产生的程序响应的任 何 操作。一般事件包括按键盘键、通过使用鼠 标单击选 择按钮和其他鼠标操作。编程人员编 写响应这些操作 的代码。

  在面向对象编程中,由当作完整实体的操作 和 数据组成的变量。对象是基于特定模型的,在 对象 中客户使用对象的服务通过由一组方法 或相关函数 的接口访问对象的数据。然后客户 端可以调用这些方 法执行某中操作。

  通过向客户程序发送唯一的 Cookie 可以管理服务器上的 Session 对 象。当用户第一次请求 ASP 应用程序中的某个页面时,ASP 要检查 HTTP 头信息,查看是否有在报文中有名为 ASPSESSIONID 的 Cookie 发送过 来,如果有,则服务器会启动新的会话,并为该会话生成一个全局唯一的值, 在把这个值作为新 ASPSESSIONID Cookie 的值发送给客户端,正是使用 这种 Cookie,可以访问存储在服务器上的属于客户程序的信息。Session 对 象最常见的作用就是存储用户的首选项。例如,如果用户指明不喜欢查看图 形,就可以将该信息存储在 Session 对象中。另外其还经常被用在鉴别客户 身份的程序中。要注意的是,会话状态仅在支持 cookie 的浏览器中保留, 如果客户关闭了 Cookie 选项,Session 也就不能发挥作用了。

版权声明:本文为 “个人代码云儿美,个人php学习” 原创文章,转载请附上原文出处链接及本声明;

原文链接:http://a.shandingren.com/a/xz/2022/1202/260.html

标签:asp教学 
留言与评论(共有 条评论)
昵称:
匿名发表
验证码: 点击我更换图片
排行榜
关于我们
扫码关注
Copyright © 2002-2017 南缘网 湘ICP备2022026174号-1