maomaolili

一树/aiq梨花

博客园 首页 新随笔 联系 订阅 管理
Response对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器,它与Request组成了一对接收、发送数据的对象,这也是实现动态的基础。下面介绍它常用的属性和方法。



1、Buffer属性  
  该属性用于指定页面输出时是否要用到缓冲区,默认值为False。当它为True时,直到整个Active Server Page执行结束后才会将结果输出到浏览器上。如:
<%Response.Buffer=True%>
<html>
<Head>
<title>Buffer示例</title>
</head>
<body>
<%
  for i=1 to 500
    response.write(i & "<br>")
  next
%>
</body>
</html>
  这页执行时,整个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。



2、Expires属性
  该属性用于设置浏览器缓存页面的时间长度(单位为分),必须在服务器端刷新。通过如下设置:
<%Response.Expires=0%>
  通过在ASP文件中加入这一行代码,要求每次请求是刷新页面,因为Response一收到页面就会过期。



3、Write方法
  该方法把数据发送到客户端浏览器,如:  
<%Response.write "Hello,world!"%>



4、Redirect方法
  该方法使浏览器可以重新定位到另一个URL上,这样,当客户发出Web请求时,客户端的浏览器类型已经确定,客户被重新定位到相应的页面。如:
<html>
<head>
<title>Redirect示例</title>
</head>
<body>
<form aciton="formjump.asp" method="post">
  <select name="wheretogo">
    <option selected value="fun">Fun</option>
    <option value="news">News</option>
    <option value="sample">Sample</option>
  </select>
<input type=submit name="jump" value="Jump">
</form>
</body>
</html>
  以上是提交的表单,下面是处理表单的文件formjump.asp:
<%response.buff=true%>
<html>
<head>
<title>Redirect示例</title>
</head>
<body>
<%
thisurl="http://jefenet.yesky.net"
where=Request.form("wheretogo")
Select Case where
  case "fun"
     response.redirect thisurl & "/fun/default.asp"
  case "news"
     response.redirect thisurl & "/news/default.asp"
  case "sample"
     response.redirect thisurl & "/sample/default.asp"
End Select
%>
</body>
<html>
  这个例子当用户选择了以后,按"Jump"按钮提交表单,服务器接到申请后调用formjump.asp判断后定位到相应的URL。不过这里有一点要注意,HTTP标题已经写入到客户浏览器,任何HTTP标题的修改必须在写入页内容之前,遇到这种问题时,可以如下做:
在文件的开始<@ Language=..>后写:    
   Response.Buffer=True
在结尾定:
   Response.Flush
  这里Flush是Response的一个方法,它必须是Buffer属性设置为True时才能使用,否则会产生一个运行模式错误。另外一个Clear方法也是用于清除被缓存的页面,同样要Buffer属性设置为True时才能使用。



5、End方法
  该方法用于告知Active Server当遇到该方法时停止处理ASP文件。如果Response对象的Buffer属性设置为True,这时End方法即把缓存中的内容发送到客户并清除冲区。所以要取消所有向客户的输出民,可以先清除缓冲区,然后利用End方法。如:
<%
Response.buffer=true
On error resume next
Err.clear
if Err.number<>0 then
  Response.Clear
  Response.End
end if
%> 
<div style='width:100%;text-align:right;'>
   Response对象用来取得创建和回送客户端浏览器的响应信息。
   下面的表格总结了Request对象的一些属性和集合:
属性 描述
Buffer=True|False 布尔型,设置是否启用缓冲处理,读/写。在.asp文件中,该设置值应放在<%@Language=...%>语句后的第一行。ASP3.0默认值为True(开),早期版本中默认值为False(关)
CacheControl"setting" 字符型,设置属性为“Public”,允许代理服务器缓存页面;属性为“Private”则禁止代理服务器缓存的发生。读/写
Charset="value" 字符型,在由服务器为每个响应创建的HTTP Content-Type报头中附上所有的字符集名称(如:ISO-LATIN-7)。读/写
Content Type="MIME-type" 字符型,设置响应的HTTP内容类型,标准的MIME类型(如:“text/xml”或“Image/gif”)。若省略,表示使用MIME类型“text/html”。内容类型告诉浏览器所期望内容的类型。读/写
Expires minutes 数值型,指明页面的有效期时间(单位:分钟)。读/写
Expires Absolute#date[time]# 日期/时间型,设置当一个页面过期和不再有效的绝对日期和时间。读/写
IsClientConnected 布尔型,返回客户端是否仍和服务器端相连的状态标志。读/写
PICS("PICS-Label-string") 字符型,建立一个PICS(Platform for Interent Content System)报头并将其加到响应中的HTTP报头中,PICS报头定义页面内容中的词汇等级,如:暴力、性、不良语言等。只写
Status="Code message" 字符型,设置回送客户端响应的HTTP报头中表明错误或页面处理是否成功的状态值和信息。例如:“200 OK”或“404 Not Found”
AddHead("name","content" 将自定义的HTTP报头信息加入到所输出的网页中。不能替换现有相同名称的报头,一旦已经增加了一个报头就不能被删除。本方法必须在任何页面内容(即text和HTML)被发往客户端前使用
AppendToLog("string") 响应用户的请求,在Web服务器的日志文件上增加一个条目
BinaryWrite 将Variant类型的SafeArray写入HTTP输出,而不做任何字符转换。主要用于将二进制数据写入客户端,常用来处理非文字数据,如多媒体文件
Clear 当Response.Buffer为True时,清除所有存放在缓冲区内而尚未传送至浏览器的输出
End 当Response.Buffer为True时,让ASP结束处理脚本,并将所有现存的缓冲页面传送至客户端
Flush 当Response.Buffer为True时,发送缓冲区中所有当前页给客户端并清空缓冲区
Redirect 指定浏览器重定向(链接)至url给出的页面地址
Write("string") 将指定的字符string写入HTTP输出,使其成为返回页面的一部分
   
posted on 2006-03-02 16:16  一树/aiq梨花  阅读(342)  评论(0)    收藏  举报