本节笔者主将要介绍Active Server Page的另一对象Response,Response对象的作用是在向浏览器发送数据。将Response对象与上一节介绍的接收数据的Request对象一起使用,就可以达到服务端-浏览器间的交互,这也是实现动态网页的基础。
数据挖掘研究院
Response对象的属性及方法在ASP中极其常用。下面几节将针对Response对象的常用属性、方法及集合进行详细讲解,对于不常用的也给出了说明。
数据挖掘论坛
一、Response对象的常用属性 数据挖掘交友
1、 Buffer属性 数据挖掘工具
其值为布尔型,即只有True和False两种情况,表明输出的Asp页是否被缓冲, 使用Buffer属性后,只有当前页的所有服务器脚本处理完毕或者调了 Flush 或 End 方法后,服务器才将响应发送给浏览器,在服务器将部分响应发送给浏览器后就不能再设置 Buffer 属性,因此通常在 .asp 文件的第一行调用 Response.Buffer。 数据挖掘论坛
设置Buffer属性方法如下:
数据挖掘交友
<%Response.Buffer=True %>
数据挖掘论坛
数据挖掘论坛
数据挖掘论坛
2、 ContentType属性 数据挖掘实验室
ContentType 属性指定服务器响应的 HTTP 内容类型。如果未指定 ContentType,默认为 text/HTML。即在服务器响应的 HTTP中显示content-type:text/html。如果要用到特殊的ContentType属性,应按照以下示例中的方式调用: 数据挖掘交友
<%Response.ContentType="text/css" %> 数据挖掘实验室
3、 Charset属性
Charset属性用于设置字符集的名称并将其添加到内容类型标题(content-type)的后面,若未在Asp页中设置Charset属性,则content-type为content-type:text/html,若将Charset属性设置为"gb2312"则content-type为content-type:text/html; charset=gb2312。
设置Charset属性的方法如下:
数据挖掘交友
<% Response.Charset="gb2312" %> 数据挖掘实验室
小技巧: 数据挖掘实验室
无论设置的字符集是否有效,该设置都会将设置的字符集写到内容类型标题(content-type)后面,所以在使用该属性时要保证设置字符集的有效性。
数据挖掘交友
如果页面包含多个Charset设置,则以最后一次被执行的Charset设置为准。 数据挖掘研究院
常用的字符集还有ASCII Latin1 gb2312 big5 gbk gb18030 Unicode等,如果要做国际化网站建议使用Unicode。
数据挖掘交友
数据挖掘论坛 4、 Expires属性
数据挖掘交友
Expires属性用于指定在浏览器缓存页面距超时还有多少时间,若用户在指定时间内回到此页,服务器会将缓存的页面返回给用户,设置的数字的单位是分。 数据挖掘工具
设置Expires属性的方法如下: 数据挖掘交友
<% Response.Expires=3 %>
数据挖掘研究院
上例表示本页三分钟后超时。 数据挖掘实验室
小技巧:
数据挖掘实验室
设置Response.Expires=0则使缓存页浏览后立即超时,这样做可以确保页面信息的安全。 数据挖掘工具
5、 ExpiresAbsolute属性
数据挖掘研究院
ExpiresAbsolute属性与Expires属性类似,只是其值应设置为一个具体时间。
下例表示缓存页到2006年10月30日 20:22:00过期: 数据挖掘实验室
<% Response.ExpiresAbsolute=#Oct 30,2006 20:22:00# %>
数据挖掘论坛
6、 IsClientConnected属性 数据挖掘实验室
该属性为只读属性,用于判断上次向浏览器输出响应后,浏览器是否仍和服务器连 接。
7、 CacheControl属性 数据挖掘实验室
CacheControl属性用于决定代理服务器是否能缓存ASP生成的输出,默认值为False。如果将其设置为True将会大大降低网站的安全性。
数据挖掘工具
8、 Pics属性 数据挖掘交友
将PICS标记的值添加到响应的标题的PICS标记字段中,指定某一网页的内容级 别,如:暴力、色情、儿童不宜等。
数据挖掘实验室
该属性的使用方法:
数据挖掘实验室
<%Response.Pics("相关字符串")%>
数据挖掘交友
9、 Status属性 数据挖掘交友
Status属性服务器返回的状态行的值。
该属性的使用方法:
数据挖掘实验室
<%Response.Status="状态描述字符串"%> 数据挖掘论坛
二、Response对象的常用方法 数据挖掘研究院
1、Write方法
数据挖掘研究院
将变量作为字符串写入当前的HTTP输出 数据挖掘实验室
几种使用方法: 数据挖掘工具
<%Response.Write"输出内容"%> 数据挖掘交友
或: 数据挖掘实验室
<%Response.Write("输出内容")%> 数据挖掘工具
如果要输出变量则用如下方法: 数据挖掘交友
<% 数据挖掘工具
Dim s 数据挖掘交友
s="输出内容" 数据挖掘论坛
Response.Write(s)
数据挖掘研究院
%> 数据挖掘论坛
小技巧:
在直接输出到浏览器时通常可用
<%= s %> 数据挖掘实验室
来代替
数据挖掘实验室
<% Response.Write (s) %> 数据挖掘研究院
数据挖掘交友 小技巧:
如要输出一个”,可以将”用两个双引号代替,例如:
<% Response.Write (””””) %>
数据挖掘实验室
在浏览器上输出的内容就是”了
数据挖掘交友
小技巧: 数据挖掘实验室
对于HTML与服务器变量的交替输出,请不要将HTML代码与输出语句混写,例如: 数据挖掘工具
<% For i=1 to 10 %>
<a href=”#”><% =i %></a>
数据挖掘研究院
<% Next %> 数据挖掘交友
此类情况最好写成:
<% For i=1 to 10
Response.Write ”<a href=””#””>” & i & ”</a>”
Next %> 数据挖掘实验室
因为在前一种写法中服务器端解析器不断在HTML与VBScript中跳转将会很大程度上影响执行速度。 数据挖掘研究院
数据挖掘研究院
数据挖掘交友
小技巧: 数据挖掘交友
对于输出大量连接而成的字符串,通常使用以下方法:
数据挖掘研究院
<% 数据挖掘研究院
For i=1 to 10
a=a & i 数据挖掘工具
Next
数据挖掘实验室
Response.Write (a) 数据挖掘交友
%> 数据挖掘论坛
但如果面对很大的数量,如
<% 数据挖掘研究院
For i=1 to 50000 数据挖掘论坛
a=a & i
数据挖掘研究院
Next
Response.Write (a)
数据挖掘研究院
%> 数据挖掘论坛
的情况下,执行会极其之慢(大概12秒)。
这是因为VBScript在申请字符串变量的内存是要浪费大量时间。 数据挖掘研究院
但可以通过以下代码提高效率,使执行时间接近300毫秒。
<% 数据挖掘研究院
a=Spc(50000)
数据挖掘实验室
For i=1 to 50000
a=mid( a , i , 1)
Next 数据挖掘实验室
Response.Write (a)
%>
数据挖掘论坛
2、Redirect方法
数据挖掘实验室
将页面转向一个URL: 数据挖掘交友
使用方法: 数据挖掘工具
<% 数据挖掘研究院
Response.ReDirect (”http://www.eice.com.cn”)
%>
数据挖掘实验室
则页面将跳转到http://www.eice.com.cn 数据挖掘实验室
小技巧:
网页的重定向也可以用Server对象的Transfer方法。 数据挖掘实验室
但Server. Transfer与Response.ReDirect 有所不同。
数据挖掘实验室
Response.ReDirect可以转向任意网页、而Server. Transfer只能转向本虚拟目录下的网页。
数据挖掘论坛
Response.ReDirect不可以传递网页参数、而Server. Transfer却可以传递参数。 数据挖掘实验室
Response.ReDirect跳转后浏览器中显示的URL也随之改变、而Server. Transfer却仍显示原来的URL。
3、End方法
数据挖掘研究院
End 方法使 Web 服务器停止处理脚本并返回当前结果。文件中剩余的内容将不被处理。如果 Response.Buffer 已设置为 TRUE,则调用 Response.End 将缓冲输出。
数据挖掘实验室
例如:
<% 数据挖掘研究院
Response.Write"1"
Response.End()
Response.Write"2"
%>
则浏览器中输出的结果为1 数据挖掘研究院
End方法执行后即按本页执行完毕处理。 数据挖掘实验室