Asp教程:Response对象

时间:2008-10-07 12:14:26  来源:第二电脑网上收集  作者:第二电脑网

  第二电脑网导读:,Response对象的作用是在向浏览器发送数据。将Response对象与上一节介绍的接收数据的Request对象一起使用,就可以达到服务端-浏览器间的交互,这也是实现动态网页的基础。
  正文:

本节笔者主将要介绍Active Server Page的另一对象ResponseResponse对象的作用是在向浏览器发送数据。将Response对象与上一节介绍的接收数据的Request对象一起使用,就可以达到服务端-浏览器间的交互,这也是实现动态网页的基础。

 Response对象的属性及方法在ASP/ target=_blank class=infotextkey>asp中极其常用。下面几节将针对Response对象的常用属性、方法及集合进行详细讲解,对于不常用的也给出了说明。

一、Response对象的常用属性

1、 Buffer属性

 其值为布尔型,即只有TrueFalse两种情况,表明输出的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-typecontent-type:text/html,若将Charset属性设置为"gb2312"content-typecontent-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属性类似,只是其值应设置为一个具体时间。

下例表示缓存页到20061030 202200过期:

<% 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对象的常用方法

1Write方法

  将变量作为字符串写入当前的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 %>

因为在前一种写法中服务器端解析器不断在HTMLvbScript中跳转将会很大程度上影响执行速度。

 

小技巧:

对于输出大量连接而成的字符串,通常使用以下方法:

<%

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)

%>

2Redirect方法

 将页面转向一个URL

使用方法:

<%

Response.ReDirect (”http://www.eice.com.cn”)

%>

则页面将跳转到http://www.eice.com.cn

小技巧:

网页的重定向也可以用Server对象的Transfer方法。

Server. TransferResponse.ReDirect 有所不同。

Response.ReDirect可以转向任意网页、而Server. Transfer只能转向本虚拟目录下的网页。

Response.ReDirect不可以传递网页参数、而Server. Transfer却可以传递参数。

Response.ReDirect跳转后浏览器中显示的URL也随之改变、而Server. Transfer却仍显示原来的URL

3End方法

 End 方法使 Web 服务器停止处理脚本并返回当前结果。文件中剩余的内容将不被处理。如果 Response.Buffer 已设置为 TRUE,则调用 Response.End 将缓冲输出。

例如:

<%

Response.Write"1"

Response.End()

Response.Write"2"

%>

则浏览器中输出的结果为1

End方法执行后即按本页执行完毕处理。

 

小技巧:

在网页中有错误,但还不能确定错误所在位置时。

可以添加一个Response.End并通过移动其位置,起到调试程序的目的。

 4Flush方法

 Flush 方法立即发送缓冲区中的输出。如果没有将 Response.Buffer 设置为 TRUE,则该方法将导致运行时错误。

 5Clear 方法

 可以用 Clear 方法清除缓冲区中的所有 HTML 输出。但 Clear 方法只清除响应正 文而不清除响应标题。可以用该方法处理错误情况。但是如果没有将 Response.Buffer  设置为 TRUE,则该方法将导致运行时错误。

 6BinrayWrite方法

将信息写入到当前HTTP输出中,并且不进行任何字符集转换。通常用于输出图片文件。

7AppendToLog方法

 在请求的Web服务器日志条目后添加字符串。

8AddHeader方法

 从名称到值设置HTML标题。

二、Response对象的常用集合

 Response对象的集合只有一个,就是cookiesCookies 集合用于设置 cookie 的值。若指定的 cookie 不存在,则创建它。若存在,则设置新的值并且将过去存储的值删去。

语法

Response.Cookies(cookie)[(key)|.attribute]=value

这里的 cookie 是指定 cookie 的名称。而如果指定了 key,则该 cookie 就是一个字典。attribute 指定 cookie 自身的有关信息。attribute 参数可以是下列之一 :

1Domain

 只写属性,该值若被指定,则 cookie 将被发送到对该域的请求中去。

2Expires

 只写属性,该值指定 cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,必须设置该日期。若此项属性的设置未超过当前日期,则在任务结束后 cookie 将到期。

3HasKeys

 该值指定 cookie 是否包含关键字。

4Path

 该值若被指定,则 cookie 将只发送到对该路径的请求中。如果未设置该属性,则使用应用程序的路径。

5Secure

 用于设定Cookies是否在一个安全的渠道传递。当一个安全渠道没有在HTTP首页被发现,Cookies信息将不被发送。

 

下面给出一个cookie的使用示例:

<%

Request.Cookies("Eice")("UserName")="admin" ''设置名为EicecookieUserName字段的值

Request.Cookies("Eice")("Password")="admin" ''设置名为EicecookiePassWord字段的值

Request.Write(Request.Cookies("Eice")("UserName"))''取出名为EicecookieUserName字段的值

Request.Write(Request.Cookies("Eice")(" PassWord "))''取出名为EicecookieUserName字段的值

%>

"Asp教程:Response对象"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/ASP/2008-10-07/3253.html


关键字:

关于《Asp教程:Response对象》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td