在

Active Server Pages中结合对象和组件

Active Server Pages

包括了大量内嵌对象和可安装的ActiveX组件。这些对象以及组件都可以用来拓展你的Active Server Pages的功能，但是确切的什么是对象和组件呢？

一个对象是典型的具有方法、属性或者集合的东西，其中对象方法决定了我们可以用这个对象作什么事情。（还记得

response对象的write()方法吧)，对象的属性

可以读取出来了解对象状态或者设置对象状态。对象的集合是由很多不同的和对象有关系的键和值的配对对组成的。

举一个日常的例子，书籍“迈至科

ASP教程”是一个对象，这个对象包含的方法决定了你可以怎样处理它，比如说，去读它，送人作为礼物，当作敲门的工具，甚至撕得粉碎，只要你愿意。对象的属性，这本书的页数，作者什么的。最后，对象的集合，包含了许多键和值的配对：每一页的页码就是键，那么值就是相对应于页码的这页的内容。

一个

ActiveX组件和Active Server Pages内嵌对象十分类似，不过，当你使用Active Server Pages时，二者之间还是存在着明显的差异，首先，一个组件可能包含不只一个对象，其次，在你使用组件之前，将要明确的创建一个实例。

VBScript

和JScript都包括一些对象，例如，无论利用VBScript和JScript，你都可以进入处理Dictionary对象。Dictionary并不是Active Server Page的正式部分。但是你可以利用Active Server Pages脚本来建立它，这是一个利用VBScript的例子：

<html>

<%

Set Mydict=Server.CreateObject(

“Scripting.Dictionary”)

MyDict.add

“电子商务”, “http://207.153.210.86/intro”

MyDict.add

“BBS”, “http://www.magicw3.com/bbs”

MyDict.add

“广告联盟”, “http://www.magicw3.com/banner”

%>

我的字典中有

<%=MyDict.count%>个记录。

<br>

其中第一个记录是

<%=MyDict.item(“电子商务”)%>。

</html>

当这个脚本执行的时候，

Dictionary对象的一个实例将会生成，然后，三个键以及相对应的值添加到Dictionary对象中，最后，显示出这个Dictionary对象的两个属性(显示结果如图13.3)。

例子中的第一个脚本语句是利用Active Server Pages建立一个新的ActiveX对象实例的常用方法。Server.CreatObject是建立一个对象实例。在这个例子中，变量MyDict指向一个Dictionary对象实例。

当一个对象实例建立之后，就可以调用它的方法，例如，利用

Dictionary对象的add方法就可以在这个Dictionary中添加新的记录。例如用add方法配对添加键“电子商务”和相应的值“http://207.153.210.86/intro”。

图13.3 Dictonary对象的一个示例

当一个对象的实例建立之后，你还可以进入处理它的属性，在这里面Count属性用来统计Dictionary中的记录数量。item属性用来根据相应的键来读取对应的值。

最后，你处理完这个对象的实例后，还可以消除它。当然，在服务器进行完这个Active Server Pages的进程后，会自动消除这个对象实例，因此，你完全可以不用去亲自处理这种过程。不过，如果需要的话，你依然可以利用将特定的变量，例如现在的Mydict指向一个新的值或者就是nothing来消除这个实例。例如这样

<% set MyDict=Nothing %>

尽管Dictionary对象并不是Active Server Pages正式部分，这个例子还是能够表明如何使用Active Server Pages对象，你可以调用Server.CreatObject()方法来产生一个对象的实例。在你产生了新的对象后，你可以调用其方法以及读取其属性。

Active Server Pages

对象

你已经接触了一个内嵌对象的例子－Response对象。你已经可以利用Response对象将表达式输出到浏览器上。不过，Response对象还有相当数量的其他重要属性、集合以及方法。

下面的章节中将会详细介绍每一种内嵌对象的使用。下面是对每一种内嵌的快速浏览：

> ■

application对象：application对象被用来存储一个应用中所有用户共享的信息。例如，你可以利用application对象来在你的站点的不同用户间传递信息。

■

request对象：request对象可以被用来访问所有从浏览器到服务器间的信息，你也就可以利用request对象来接受用户在html主页的form中的信息。

■

response对象：response对象用来将信息发送回给浏览器。你可以利用response对象将你的脚本语言结果输出到浏览器上。

■

server对象：server对象提供你运用许多server端的应用函数。例如，你可以利用server对象来控制你的脚本语言在超过时限前的运行时间。你也可以利用server对象来创建其他对象的实例。

■

session对象：session对象被用来存储一些普通用户其滞留期间的信息，你可以用Session对象来储存一个用户在访问你的站点的滞留时间。

■

ObjectContext对象：ObjectContext对象可以被用来控制Active Server Pages的执行。这种执行过程由Microsoft Transaction Server(MTS)来进行管理。

内嵌对象不同于正常的对象。在你利用内嵌对象的脚本时，你不需要首先创建一个它的实例。在整个网站应用中内嵌对象的所有方法、集合以及属性都是自动可访问的。

注意

在附录A中,”ASP对象及组件快速参考”,提供了所有内嵌对象的方法、属性、以及集合的列表清单。

Active Server Pages

组件

象上面所讨论的内嵌对象一样，Active Server Pages组件一样可以被用来拓展你的脚本的功能，组件与内嵌所不同的是它通常被用来去实现那些特定的任务。下面列表中显示的是集成在Active Server Pages中的一些组件。

> > ■

Ad Rotator组件：Ad Rotator组件被用来在主页上显示广告图标。你可以利用这个组件来限定不同广告图标显示变换的频率。

■

Browser Capabilities组件：Browser Capabilities组件可以根据不同浏览器的性能来显示不同的主页。例如，你可以利用显示单屏或者根据浏览器适应的分屏方式。

■

Content Linking组件：例用Content Linking组件你可以连接相当数量的主页这样你就可以更容易进行网络导航。例如，你可以利用这个组件来显示一部在线教程。

■

Counters组件：Counters组件能够被用来追踪访问该站点访问者的数量，你可以利用这个组件在主页中添加点击计数器。

■

Permission Checker组件：Permission Checker组件可以被用来检验只有授权用户才能访问某些联接。你可以利用这个组件来创建管理员的维护主页。

■

ActiveX Data对象：ActiveX Data对象(ADO)提供你可以从诸如SQL Server这样的数据库系统中存储数据的手段。这种对象相当重要，由于这个原因，这种对象将会在所有对象全部讨论完毕后单独分出一部分进行介绍。

下面的章节介绍怎样使用这些对象，第二十八章将讨论怎样建立你自己的对象。

注意

附录A中显示出所有这些组件的方法、属性以及集合的列表。