详细介绍ASP的六大对象(上)

我们都知道,ASP中的六大内置对象,分别是application,createobject,request,response,session,server。下面详细介绍这六大对象。

创新互联专注于大祥企业网站建设,成都响应式网站建设公司,商城开发。大祥网站建设公司,为大祥等地区提供建站服务。全流程定制网站建设,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

一、Application对象

Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。

1、Application的属性:

方法如下:

Application对象没有内置的属性,但是我们可以自行创建其属性。

<% Application("属性名")=值 %>

其实大部分Application变量都 存放在Contents集合中,当你创建一个新的Application变量时,其实就是在Contents集合中添加了一项。下面两个脚本是等效的:

<% Application("greeting")="hello!" %> 或 <% Application.contents("greeting")="hello!"由于Application变量存在集合里,所以如果想要全部显示,其方法我们已经多次使用,例如For Each循环。

以下为引用的内容:

 
 
 
  1. <%  
  2. For Each item IN Application.Contents  
  3. Response.write("
    "&item&Application.Contents(item))  
  4. next  
  5. %>  

2、Application的方法:

Application的方法只有两个方法:一个是Lock,另一个是Unlock。其中Lock方法用于保证同一时刻只能一个用户对Application操作。Unlock则用于取消Lock方法的限制。如:

以下为引用的内容:

 
 
 
  1. <%  
  2. Application.Lock  
  3. Application("visitor_num")=Application("visitor_num")+1  
  4. Application.Unlock  
  5. %>  

3、Application的事件:

  • Application_OnStart():当事件应用程序启动时触发。
  • Application_OnEnd():此事件应用程序结束时触发。

这两个事件过程都是必须定义在Global.asp文件中,一般把连接数据的函数定义在这两个事件,然后放在Global.asp中。例如:

以下为引用的内容:

 
 
 
  1. Sub Application_OnStart  
  2. Application("tt18_ConnectionString") = "driver={SQL   
  3. Server};server=jeff;uid=sa;pwd=;database=test"   
  4. End Sub  

一个数组能够被定义成Application对象,不过这个数组只能作为一个对象保存,而不能用Application(0)取出其值。可以定义一个临时数组实现这种功能。如:

以下为引用的内容:

 
 
 
  1. <%  
  2. dim Array()  
  3. Array=Application("array")  
  4. for i = 0 to ubound(array)  
  5. Response.write Array(i)  
  6. next i  
  7. %>  

同样要修改这个Application对象也可以定义一个临时数组,把Application对象赋给数组,然后修改这个数组的元素,最后把数组赋回

4、Application对象

如:以下为引用的内容:

 
 
 
  1. <%  
  2. dim Array()  
  3. Array=Application("array")  
  4. Array(0)="jeff" 
  5. Array(1)="zhu" 
  6. Application.lock  
  7. Application("array")=Array  
  8. Application.unlock  
  9. %>  

二、ObjectContext对象

该对象用于控制Active Server Pages的事务处理。事务处理由Microsoft Transaction Server (MTS)管理。

1、事件

  • ObjectContext.OnTransactionAbort 由放弃的事务处理事件激发,在脚本完成处理后发生。
  • ObjectContext.OnTransactionCommit 由成功的事务处理事件激发,在脚本完成处理后发生。

2、方法

  • ObjectContext.SetAbort   显示的放弃一次事务处理。
  • ObjectContext.SetComplete  覆盖前面任何调用ObjectContext.SetAbort方法的调用。

#p#

三、Request对象

Request对象用于接受所有从浏览器发往你的服务器的请求内的所有信息。

1、集合

  • Request.ClientCertificate(key[SubField])  所有客户证书的信息的集合。对于Key,该集合具有如下的关键字:
  • Subject  证书的主题。包含所有关于证书收据的信息。能和所有的子域后缀一起使用。
  • Issuer  证书的发行人。包含所有关于证书验证的信息。除了CN外,能和所有的子域后缀一起使用。
  • VadidFrom 证书发行的日期。使用VBscript格式。
  • ValidUntil  证书不在有效的时间。
  • SerialNumber 包含该证书的序列号。
  • Certificate 包含整个证书内容的二进制流,使用ASN.1格式。

对于SubField,Subject和Issuer关键字可以具有如下的子域后缀:(比如:SubjectOU或IssuerL)

  • C  起源国家。
  • O 公司或组织名称。
  • OU  组织单元。
  • CN  用户的常规名称。
  • L  局部。
  • S  州(或省)。
  • T  个人或公司的标题。
  • GN  给定名称。
  • I  初始。

当文件cervbs.inc(VBscript使用)或cerJavas.inc(Jscript使用)通过使用#INCLUDE导向包含在你的Active Server Page里时,下面两个标志可以使用:

  • ceCertPresent  指明客户证书是否存在,其值为TRUE或FALSE。
  • ceUnrecongnizedIssure 指明在该链表中的最后的证书的发行者是否未知,其值为TRUE或FALSE。
  • Request.Cookies(Cookie[(key).Attribute])  Cookie的集合。允许获得浏览器的Cookie。Cookie指明返回那一个Cookie。Key用于从Cookie字典中返回具有某一关键字的Cookie值。对于Attribute,你能使用属性HasKeys来确定某一Cookie是否具有子关键字。HasKeys的值为TRUE或FALSE。
  • Request.Form(Parameter)[(Index).Count] 填写HTML的表单中所有的数据的集合。Parameter是在HTML表单中某一元素的名称。当某一参数具有不止一个值(比如,当在