,ASP程序设计,1
第 4章 Response与 Request对象
4.1 ASP内置对象
4.2 Response对象
4.3 Request对象
4.4 综合实例
,ASP程序设计,2
4.1 ASP内置对象
ASP提供了 6个 内置对象,在脚本中不需要经过任何的 声明或创建,就可以直接使用这些对象的属性、方法和集合,以扩展程序的功能。 包括,
Request对象,Response对象,Server对象、
Session对象,Application对象,ObjectContext对象。
由于这些对象都是在服务器端运行的,应该在服务器脚本 中使用它们的属性、方法和集合。
,ASP程序设计,3
4.2 Response对象
Response对象对应于 Web服务器的 HTTP
响应,用于向客户浏览器 输出 指定的信息。
Response.collection|property|me
thod
collection,property,method分别表示
Response对象的集合、属性和方法。三选一
,ASP程序设计,4
4.2 Response对象
4.2.1 Response对象的属性
4.2.2 Response对象的方法
4.2.3 Response对象的数据集合
,ASP程序设计,5
4.2.1 Response对象的属性
1,Buffer属性用于指定是否 缓冲 页面输出。 其语法如下:
Response.Buffer =Flag
Buffer属性的设置应该将该设置该属性的语句放在 ASP文件的 <%@ LANGUAGE %>命令后的 第一行 。可以 ASP脚本中设置,也可以在 IIS中设置。
False:不使用缓冲页输出(默认值);
True:使用缓冲页输出
,ASP程序设计,6
4.2.1 Response对象的属性
2,Expires属性设置 Web页面保留在 客户 浏览器缓冲区的 时间长度 。 语法如下:
Response.Expires [= number]
用处:
需要实时传送信息的页面
有利于 Web站点的安全
Number:以分钟为单位的整数。如为 0,就不会在客户浏览器保存数据
,ASP程序设计,7
4.2.1 Response对象的属性
3,ExpiresAbsolute属性指定缓存于 浏览器 中 Web页面的 到期日期 和 时间 。
Response.ExpiresAbsolute[= [date] [time]]
date指定页面的到期日期
time指定页面的到期时间。
如果未指定日期,则该页面在脚本运行当天的指定时间到期;如果未指定时间,该页面在当天午夜(
24:00)到期。
,ASP程序设计,8
4.2.1 Response对象的属性
4,IsClientConnected属性用于判断自上次调用 Response对象的 Write方法后,
客户端是否与服务器保持 连接状态 。
布尔值= Response.IsClientConnected
<%
If not Response.IsClientConnected
Then
……'失去连接的处理代码
Response.End
End If
%>
,ASP程序设计,9
4.2.2 Response对象的方法
1,Write方法动态 向浏览器输出信息 。
Response.Write Variant
Variant是 VBScript中支持的任何数据类型的数据
( 1) Write方法在输出数据时将所有数据都作为字符型 数据处理,如果同时输出 不同 类型的数据,
需要在数据间使用 字符串连接运算符,&” 。
,ASP程序设计,10
4.2.2 Response对象的方法
( 2) 在 ASP程序中,由于,%>” 和
,”,两个字符具有特殊的含义,输出的数据中不能包括字符,%>” 或,”” 。
如果确实需要输出这两个字符,可用转义序列,%\>” 或使用,,“”,” 字符来代替 。
,ASP程序设计,11
4.2.2 Response对象的方法
2,Redirect方法将客户浏览器重定向到一个新的网页 。
Response.Redirect URL
URL是浏览器重定向到的页面的 URL地址注意:在使用 Redirect该方法之前不能有任何数据被输出到客户浏览器,也就是说,
Response.Redirect应放在程序的任何输出语句之前 。 或者设置 Response.Buffer=True
,ASP程序设计,12
4.2.2 Response对象的方法
3,Clear方法删除服务器缓冲区中的所有输出 。
Response.Clear
注意:如果未将 Response.Buffer设置为
True,该方法将导致运行时错误 。
,ASP程序设计,13
4.2.2 Response对象的方法
4,End方法使 Web服务器停止处理脚本并返回当前结果,文件中剩余的内容将不被处理 。
Response.End
5,Flush方法立即发送缓冲区中的数据 。
Response.Flush
注意:如果未将 Response.Buffer 设置为
True,该方法将导致运行时错误 。
,ASP程序设计,14
4.2.3 Response对象的数据集合
Response对象只有 Cookies一个数据集合。
Cookies是 Web服务器通过浏览器在 客户机 的硬盘上存储的一些 小文件 (称为 Cookie文件),
在这些文件中可以包含用户的一些个人信息。。
当下次 同一客户机 浏览器访问该 Web服务器时,
会将本地硬盘中的这些 Cookies传给 服务器。
,ASP程序设计,15
4.2.3 Response对象的数据集合
Response.Cookies(Cookie)[(key)|
attribute]=Value
Cookie用于指定创建或设置 Cookie的名称 。
Key为可选参数,如果不指定 key,则创建一个单值 Cookie; 如果指定 key,则创建一个 Cookie字典,
而且该 key将被设置为 value。
Attribute指定 Cookie的属性,有如下几种:
Domain,指定只有某个 Domain( 网域 ) 可以存取该 Cookie,只写属性 。
Expires,指定 Cookie的过期日期,只写属性 。
value用来指定分配给 Cookie的值 。
,ASP程序设计,16
4.2.3 Response对象的数据集合
Cookie有两种形式,临时 Cookie和 永久 Cookie。
HasKeys,判断指定 Cookie是否包含 关键字 ( 即是否为一个 Cookie字典 ),只读 属性 。
Path,指定存取该 Cookie的 路径,默认为应用程序所在的路径,只写 属性 。
Secure,指定 Cookie是否安全,即在数据的传输过程中是否 采用加密算法,只写 属性 。
,ASP程序设计,17
4.2.3 Response对象的数据集合
1.创建单值的 Cookie
<%
Response.Cookies("example")="hello"
Response.Cookies("example").Expires=Date
()+7
Response.Cookies("example").Domain="127.
0.0.1"
Response.Cookies("example").Path="/"
Response.Cookies("example").Secure=False
%>
,ASP程序设计,18
4.2.3 Response对象的数据集合
2,创建带有关键字的 Cookie字典
<%
Response.Cookies("myCookie")("n
ame")="bill"
Response.Cookies("myCookie")("p
assword")="bill"
%>
,ASP程序设计,19
4.3 Request对象用于在 Web服务器端收集 用户通过 HTTP请求传送的所有信息 。 从功能上看,与 Response正好相反 。 语法如下:
Request[.collection|property|method](variable)
collection,property,method分别表示 Request对象的集合、属性和方法,三选一
variable是指定要从集合中检索的项目或作为方法与属性的输入。
,ASP程序设计,20
4.3 Request对象
4.3.1 Request对象的属性
4.3.2 Request对象的方法
4.3.3 Request对象的数据集合
,ASP程序设计,21
4.3.1 Request对象的属性只提供一个 TotalBytes属性 (只读 ),表示从客户端所接收数据的 字节大小 。 语法:
字节长度 =Request.TotalBytes
,ASP程序设计,22
4.3.2 Request对象的方法只提供一种 BinaryRead方法,该方法是以二进制方式 来读取客户端使用 POST方式 所传递的数据 。
Variant数组 =Request.BinaryRead(Count)
Count是一个整型数据,表示每次读取数据的字节大小 。
,ASP程序设计,23
4.3.3 Request对象的数据集合
Request对象将用户通过 HTTP请求传送的信息保存在几个集合中 。
Request[.collection]("variable")
collection 指定 Request 对象的数据集合,
variable指定变量名 。
如果省略数据集合,ASP会按照 QueryString、
Form,Cookies,ClientCertificate、
ServerVariables的顺序在各个数据集合中搜索该变量,并返回第一个出现的变量的值 。
,ASP程序设计,24
4.3.3 Request对象的数据集合
1,Form数据集合利用 Form数据集合可以取得客户端 表单 中各个元素的值,其语法如下:
Request.Form(element)[(index)|.Count]
element指定集合要检索的表单元素 ( 控件 ) 的名称
index是可选参数,用于指定表单中具有多个取值的某个元素中的一个
,ASP程序设计,25
4.3.3 Request对象的数据集合
( 1)取得 Form数据集合中元素的值。
( 2)自响应页面。
( 3)取得 Form数据集合中某个元素中的特定值。
,ASP程序设计,26
4.3.3 Request对象的数据集合
2,QueryString数据集合
QueryString数据集合用于取得通过 HTTP查询字符串传递的数据,查询字符串附加在 URL
的后面,其格式为:
URL地址? QueryString
http://www.myhome.com/myfile.asp
name=bill & Sex=男
,ASP程序设计,27
4.3.3 Request对象的数据集合
Request.QueryString(variable)[(i
ndex)|.Count]
variable指定了 QueryString中参数的名称
index是可选参数,用于指定 QueryString中具有多个取值的某个参数中的一个
Count表示 QueryString中某个参数的数量
,ASP程序设计,28
4.3.3 Request对象的数据集合
( 1)利用超级链接标记传递参数。
( 2)取得在表单中通过 GET方式提交的数据。
( 3)其它方式。
,ASP程序设计,29
4.3.3 Request对象的数据集合
3,Cookies数据集合利用 Request对象的 Cookies数据集合可以取得记录在客户端的 Cookies数据 。
Request.cookies(Cookie)[(key)|.attribute]
Cookie指定被检索或读取的 Cookie的名称
Key为一个可选项,用于指定 Cookie字典中子
Cookie的名称
attribute是 Cookies数据集合的属性,只有一个取值 HasKeys,用来表示 Cookie是否带有关键字,只读
,ASP程序设计,30
4.3.3 Request对象的数据集合
( 1)读取单值的 Cookie
<% Request.Cookies("example") %>
<% Request.Cookies(1)) %>
,ASP程序设计,31
4.3.3 Request对象的数据集合
( 2)读取 Cookie字典
<%
Request.Cookies("myCookie")("Name")
Request.Cookies("myCookie")("password")
%>
<%
Request.Cookies("myCookie")(1)
Request.Cookies("myCookie")(2)
%>
,ASP程序设计,32
4.3.3 Request对象的数据集合
4,ServerVariables数据集合使用 ServerVariables数据集合可以获得服务器端环境变量的取值 。
Request.ServerVariables (server environment variable)
server environment variable指定了某个环境变量的名称
,ASP程序设计,33
4.3.3 Request对象的数据集合
<%
Dim strip
strip=Request.ServerVariables("REMOTE
_ADDR")
If strip="127.0.0.1" then
Response.Write "谢谢您的访问 ! "
Else
Response.Write "对不起,拒绝访问 ! "
End If
%>
,ASP程序设计,34
4.4 综合实例
1.创建登录页面
,ASP程序设计,35
4.4 综合实例
2.用户验证