技术文章---Asp:Response对象
“
后来因为学校的各种事耽搁了 前些日子立志写个 ASP 教程。
只余下这个了
呵呵,有点我个人的小技巧在里面。行家勿笑
--------------------------------------------------------------------------------
就可以达到服务端-浏览器间的交互,本节笔者主将要介绍 Active Server Page 另一对象 Respons Respons 对象的作用是向浏览器发送数据。将 Respons 对象与上一节介绍的接收数据的 Request 对象一起使用。这也是实现动态网页的基础。
对于不常用的也给出了说明。 Respons 对象的属性及方法在 ASP 中极其常用。下面几节将针对 Respons 对象的常用属性、方法及集合进行详细讲解。
一、 Respons 对象的常用属性
1 Buffer 属性
即只有 True 和 Fals 两种情况,标明输出的 Asp 页是否被缓冲 , 其值为布尔型。使用 Buffer 属性后,只有当前页的所有服务器脚本处置完毕或者调了 Flush 或 End 方法后,服务器才将响应发送给浏览器,服务器将局部响应发送给浏览器后就不能再设置 Buffer 属性,因此通常在 .asp 文件的第一行调用 Response.Buff
设置 Buffer 属性方法如下:
<%Response.Buffer=Tru %>
2 ContentTyp 属性
应依照以下示例中的方式调用: ContentTyp 属性指定服务器响应的 HTTP 内容类型。如果未指定 ContentTyp 默认为 text/HTML 即在服务器响应的 HTTP 中显示 content-type:text/html 如果要用到特殊的 ContentTyp 属性。
<%Response.ContentType="text/css" %>
3 Charset 属性
若未在 Asp 页中设置 Charset 属性, Charset 属性用于设置字符集的名称并将其添加到内容类型标题 ( content-typ 后面。则 content-typ 为 content-type:text/html 若将 Charset 属性设置为 "gb2312" 则 content-typ 为 content-type:text/html; charset=gb2312
设置 Charset 属性的方法如下:
<% Response.Charset="gb2312" %>
小技巧:
该设置都会将设置的字符集写到内容类型标题 ( content-typ 后面, 无论设置的字符集是否有效。所以在使用该属性时要保证设置字符集的有效性。
则以最后一次被执行的 Charset 设置为准。 如果页面包括多个 Charset 设置。
如果要做国际化网站建议使用 Unicod 常用的字符集还有 ASCII Latin1 gb2312 big5 gbk gb18030 Unicod 等。
4 Expire 属性
若用户在指定时间内回到此页, Expire 属性用于指定在浏览器缓存页面距超时还有多少时间。服务器会将缓存的页面返回给用户,设置的数字的单位是分。
设置 Expire 属性的方法如下:
<% Response.Expires=3 %>
上例表示本页三分钟后超时。
小技巧:
这样做可以确保页面信息的平安。 设置 Response.Expires=0 则使缓存页浏览后立即超时。
5 ExpiresAbsolut 属性
只是其值应设置为一个具体时间。 ExpiresAbsolut 属性与 Expire 属性类似。
下例表示缓存页到 2006 年 10 月 30 日 20 22 00 过期:
2006 20:22:00# %> <% Response.ExpiresAbsolute=#Oct 30.
6 IsClientConnect 属性
用于判断上次向浏览器输出响应后, 该属性为只读属性。浏览器是否仍和服务器连 接。
7 CacheControl 属性
默认值为 Fals 如果将其设置为 True 将会大大降低网站的平安性。 CacheControl 属性用于决定代理服务器是否能缓存 ASP 生成的输出。
8 Pic 属性
指定某一网页的内容级 别, 将 PICS 标志的值添加到响应的标题的 PICS 标志字段中。如:暴力、色情、儿童不宜等。
该属性的使用方法:
<%Response.P " 相关字符串 " %>
9 Statu 属性
Statu 属性服务器返回的状态行的值。
该属性的使用方法:
<%Response.Status=" 状态描述字符串 "%>
二、 Respons 对象的常用方法
1 Write 方法
将变量作为字符串写入当前的 HTTP 输出
几种使用方法:
<%Response.Write" 输出内容 "%>
或:
<%Response.Writ " 输出内容 " %>
如果要输出变量则用如下方法:
<%
Dim s
s=" 输出内容 "
Response.Writ s
%>
小技巧:
直接输出到浏览器时通常可用
<%= s %>
来代替
<% Response.Writ s %>
小技巧:
例如: 如要输出一个 ” 可以将 ” 用两个双引号代替。
<% Response.Writ %>
浏览器上输出的内容就是
小技巧:
请不要将 HTML 代码与输出语句混写 , 对于 HTML 与服务器变量的交替输出。例如:
<% For i=1 to 10 %>
<a href= # ><% =i %></a>
<% Next %>
此类情况最好写成:
<% For i=1 to 10
Response.Writ <a href= # > & i & </a>
Next %>
因为在前一种写法中服务器端解析器不断在 HTML 与 VBScript 中跳转将会很大水平上影响执行速度。
小技巧:
通常使用以下方法: 对于输出大量连接而成的字符串。
<%
For i=1 to 10
a=a & i
Next
Response.Writ a
%>
如 但如果面对很大的数量。
<%
For i=1 to 50000
a=a & i
Next
Response.Writ a
%>
执行会极其之慢 ( 大概 12 秒 ) 情况下。
这是因为 VBScript 申请字符串变量的内存是要浪费大量时间。
使执行时间接近 300 毫秒。 但可以通过以下代码提高效率。
<%
a=Spc 50000
For i=1 to 50000
i ,a=mid a . 1
Next
Response.Writ 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.Buff 已设置为 PUE 则调用 Response.End 将缓冲输出。
例如:
<%
Response.Write"1"
Response.End
Response.Write"2"
%>
则浏览器中输出的结果为 1
End 方法执行后即按本页执行完毕处置。
小技巧:
但还不能确定错误所在位置时。 网页中有错误。
起到调试顺序的目的 可以添加一个 Response.End 并通过移动其位置。
4 Flush 方法
Flush 方法立即发送缓冲区中的输出。如果没有将 Response.Buff 设置为 PUE 则该方法将导致运行时错误。
5 Clear 方法
可以用 Clear 方法清除缓冲区中的所有 HTML 输出。但 Clear 方法只清除响应正 文而不清除响应标题。可以用该方法处置错误情况。但是如果没有将 Response.Buffer 设置为 PUE 则该方法将导致运行时错误。
6 BinrayWrit 方法
并且不进行任何字符集转换。通常用于输出图片文件。 将信息写入到当前 HTTP 输出中。
7 AppendToLog 方法
请求的 Web 服务器日志条目后添加字符串。
8 AddHeader 方法
从名称到值设置 HTML 标题。
二、 Respons 对象的常用集合
就是 cooki Cooki 集合用于设置 cooki 值。若指定的 cooki 不存在则创建它若存在则设置新的值并且将过去存储的值删去。 Respons 对象的集合只有一个。
语法
Response.Cooki cooki [ kei |.attribute]=valu
这里的 cooki 指定 cooki 名称。而如果指定了 kei 则该 cooki 就是一个字典。 attribut 指定 cooki 自身的有关信息。 attribut 参数可以是下列之一 :
1 Domain
该值若被指定, 只写属性。则 cooki 将被发送到对该域的请求中去。
2 Expire
该值指定 cooki 过期日期。为了会话结束后将 cooki 存储在客户端磁盘上, 只写属性。必需设置该日期。若此项属性的设置未逾越当前日期,则在任务结束后 cooki 将到期。
3 HasKei
该值指定 cooki 否包括关键字。
4 Path
则 cooki 将只发送到对该路径的请求中。如果未设置该属性, 该值若被指定。则使用应用顺序的路径。
5 Secure
Cooki 信息将不被发送。 用于设定 Cooki 否在一个安全的渠道传送。当一个平安渠道没有在 HTTP 首页被发现。
下面给出一个 cooki 使用示例:
<%
Request.Cooki "Eice" "UserName" ="admin" '' 设置名为 Eice cooki UserNam 字段的值
Request.Cooki "Eice" "PassWord" ="admin" '' 设置名为 Eice cooki PassWord 字段的值
Request.Writ Request.Cooki "Eice" "UserName" '' 取出名为 Eice cooki UserNam 字段的值
Request.Writ Request.Cooki "Eice" " PassWord " '' 取出名为 Eice cooki UserNam 字段的值
%>