现在的位置: 首页 > 综合 > 正文

ASP的对象结构

2013年10月27日 ⁄ 综合 ⁄ 共 3497字 ⁄ 字号 评论关闭

ASP的对象结构

前面我们学习了ASP的基础应用,现在我们要系统地了解一下ASP的对象结构,然后,大家就可以举一反三,不用我过多解释每一个例子了。这一部分,可能有些困难,不过,要学习东西,是不能怕的,是不是?

一、Request

Request对象把客户信息保存在几个集合中,供ASP应用使用。通用的访问方法为:

Request.Collection("membername")

当你不指定集合名时,以(1)QueryString,(2)Form,(3)Cookie(4)ServerVariable的顺序搜索所有集合,当发现第一个匹配的变量时,就认定他是要引用的成员。当然,为了提高效率,你最好显式指定是那个集合中的成员。

QueryString集合

HTML表单使用GET方法向ASP文件传递数据时,数据被保存在集合QueryString中。其成员可以具有与之相关的多个值,也就是说,同一个表单中,多个元素可以有相同的名字,下面的代

码访问这些数据:

Response.write?Item?&"
"

Next?%>

Form集合——当表单用POST方法时,数据被保存在Form集合中。

ServerVariable集合——保存了随HTTP请求一起传送HTTP头的信息,可以通过他获取有关浏览器的信息,主要成员有:REMOTE_ADDR?远程主机IP地址

REMOTE_HOST?远程主机名称

REMOTE_USER?客户名称

REQUEST_METHOD?请求方法(如POSTGETHEAD

SERVER_NAME?服务器名

SERVER_PROTOCOL?服务器版本号(如HTTP/10

?

二、Response对象

用来控制向客户返回的HTML的内容,有若干属性和方法。下面介绍我认为重要的:

Buffer属性——如果为True,Response的内容要写入缓冲区,当脚本处理完时再发给客户。

Status属性——传递HTTP?Response报文的状态。服务器返回的状态代码由三位数字组成,可以用于测试阶段和转换控制到其他站点(即Forward

Write方法——向客户输出HTML,可以是任何合法的HTML脚本。

Redirect方法——使浏览器重新定向到另外一个URL上,如:

IF?Left(browsetype,11)="Mozilla/2.0"?then

Response.Redirect?"FancyStart.asp"

Else

Response.Redirect?"OldStart.asp"

End?if%>

Clear方法——如果设Buffer属性为True,则Clear方法清楚所有缓冲区内容。

Flush方法——将缓冲内容立即发送给客户。

End方法——Active?Server遇到该方法时,立即停止处理ASP文件,如果有缓冲,立即发送内容到客户。

BinaryWrite方法——输出二进制数据

?

三、Request对象和Response对象的Cookies集合

1.写入Cookies——Response.Cookies("Cookie名称")[("键名称").属性]=值。如果该Cookie已经存在,则值被新值替代,否则,创建该cookie。例如:

2.读取Cookies——如:Cookie还有一些属性,请参见有关资料。

四、Application对象

Active?Server应用程序是虚拟目录及其子目录下的所有文件,即一个WEB。可以使用Application对象在应用软件的所有用户中共享信息,并可以在服务器运行期间持久地保存数据。他有一些控制访问应用层数据的方法和事件。

Application本身没有内置属性,可以有用户定义:Application("属性名")=

保存在Application对象中的数据可以被Application的所有用户读取。如用来做访问记数:

Application("aVisits")=Application("aVisits")+1

方法有两个:

Lock方法——当用户调用Lock时,只有当前用户能够编辑或增加Application对象的属性。

Unlock方法——一定要记住,调用了Lock,完成时一定要调用Unlock.

事件也有两个:

Application_OnStart事件:应用程序启动时调用。

Application_OnStart事件:应用程序终止时调用。

这两个事件再加上Session的两个事件的处理程序都放在文件Global.asp中,一个Web应用只

有一个Global.asa文件,且放在该应用的根目录下。一个Global.asp文件的例子如下:

抱歉!评论已关闭.