ASP应用手册 现在我们要系统地了解一下ASP的对象结构,然后,大家就可以举一反三,不用我过多解释每一个例子了。这一部分,可能有些困难。
一、Request
Request对象把客户信息保存在几个集合中,供ASP应用使用。通用的访问方法为:Request.Collection("membername")
当你不指定集合名时,以(1)QueryString,(2)Form,(3)Cookie和(4)ServerVariable
的顺序搜索所有集合,当发现第一个匹配的变量时,就认定他是要引用的成员。当然,为了提高效率,你最好显式指定是那个集合中的成员。
QueryString集合
当HTML表单使用GET方法向ASP文件传递数据时,数据被保存在集合QueryString中。其成员可以具有与之相关的多个值,也就是说,同一个表单中,多个元素可以有相同的名字,下面的代码访问这些数据:
<%For each item in Request.QueryString("Name")
Response.write Item &"<br>"
Next %>
Form集合
当表单用POST方法时,数据被保存在Form集合中。
ServerVariable集合
保存了随HTTP请求一起传送HTTP头的信息,可以通过他获取有关浏览器的信息,主要成员有:
REMOTE_ADDR 远程主机IP地址
REMOTE_HOST 远程主机名称
REMOTE_USER 客户名称
REQUEST_METHOD 请求方法(如POST,GET,HEAD)
SERVER_NAME 服务器名
SERVER_PROTOCOL 服务器版本号(如HTTP/1。0)
二、Response对象
用来控制向客户返回的HTML的内容,有若干属性和方法。下面介绍我认为重要的:
Buffer属性
如果为True,则Response的内容要写入缓冲区,当脚本处理完时再发给客户。
Status属性
传递HTTP Response报文的状态。服务器返回的状态代码由三位数字组成,可以用于测试阶段和转换控制到其他站点(即Forward)
Write方法
向客户输出HTML,可以是任何合法的HTML脚本。
Redirect方法
使浏览器重新定向到另外一个URL上,如:
<%browsetype=Request.ServerVariables("HTTP_USER_AGENT")
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
例如:
<% Response.Cookies("NewCookie")="New Cookie Value" %>
2.读取Cookies
如:
<%=Request.Cookies("NewCookie")%>
Cookie还有一些属性,请参见有关资料。