当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP编程入门进阶(五):内置对象Response

ASP
asp实现取得数组中的最大值的代码
asp 将日期格式化为需要的格式
asp 下产生任意位数随机密码的代码
asp下返回以千分位显示数字格式化的数值
asp重定向页面的方法总结
asp下去除数组中重复的项的方法
asp下实现 重新排序数字数组的代码
asp 验证输入网址是否有效并可以访问 与正则验证输入网址
asp验证Ip格式的函数
asp实现生成由数字,大写字母,小写字母指定位数的随机数
asp 格式化sql中的like字符串
asp 实现显示所有的服务器变量值的函数
asp 取得用户真实IP,对代理地址仍然有效的函数
asp 通用数据库连接过程函数
asp 字符串截取函数
asp下实现格式化文件大小以MB显示的函数
asp 下用正则表达式检测邮箱格式的函数
asp 实现检测字符串是否为纯字母和数字组合的函数
asp代码实现检测组件是否安装的函数
asp通过JMAIL实现通用发送函数

ASP编程入门进阶(五):内置对象Response


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 69 ::
收藏到网摘: n/a

通过对Request对象的学习,可以了解到,Request对象是服务器端用来获取客户端的信息的。
但作为服务器和客户端进行交互,是不是还缺少服务器端向客户端发送信息呢?对象Response正是担任此责任。
负责将信息传递给用户的对象就是Response了,它可动态地响应客户端的请求,并将动态生成的响应结果返回给客户端浏览器。
一,Response.write
在Response中write方法是使用最频繁的一个了,write就是写:将指定的字符串写到当前的 HTTP 输出。
1,write.asp

<%
response.write("hello,world"&"<br>")
Randomize
response.write "任意数是"&rnd()&"<br>"
%>

response.write后面为所显示的信息,可以用括号包含,也可以直接书写(注意和response.write之间有空格)。
书写的字符串信息或者HTML代码相关,用引号包含;而ASP本身的函数或变量则不需要,直接用即可。
并且无论字符串信息、HTML代码、函数还是变量之间进行连接都是采用&号(针对vbscript)
以上遇到一个随机函数rnd(),该函数返回一个小于 1 但大于或等于 0 的值。
需要注意的是在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有基于系统计时器的种子。
若缺少Randomize,则无法继续生成随机种子。
下面一个利用随机函数的例子,产生随机背景颜色效果:

[Ctrl+A 全部选择进行拷贝 提示:可先修改部分代码,再点击运行]
当然要产生指定范围的随机整数,请使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界。

[Ctrl+A 全部选择进行拷贝 提示:可先修改部分代码,再点击运行]
随机函数在做考试系统的时候非常有用,当然你也可以用来自己摇奖,拿个头彩也分点我就行了
二,Response.end
这是Response常用的一种方法,使 Web 服务器停止处理脚本并返回当前结果,文件中剩余的内容将不被处理。
主要放在一页多功能的ASP页中,为让程序运行到此,抑或往下的程序没必要再执行显示……
2,end.asp

<%response.write now()
response.end '程序执行显示到此结束
response.write rnd()%>

三,Response.clear
该方法主要作用是清除缓冲区中的所有 HTML 输出,但该方法只清除响应正文而不清除响应标题。
该方法和end方法似相反,end是到此结束返回上面的结果,而clear却是清除上面的执行,然后只返回下面的结果。
3,clear.asp

<%response.write now()
response.clear '以上程序到此全被清除
response.write rnd()%>

下面通过一个例子来仔细看看end and clear
4,end2clear.asp

<%
filepath=request.servervariables("script_name")
user=Request.Form("username")
pwd=Request.Form("password")
%>
<form method="POST" action="<%=filepath%>">
name:<input type="text" name="username"><br>
pwd:<input type="password" name="password"><br>
<input type="submit" value="submit">
</form>
<%
If user="cnbruce" and pwd="cnbruce" Then
response.write "采用clear方法,上面的程序结果将清除。"
response.clear ' 清空存储在缓存中的页面
Else
response.write "采用end方法,下面的程序将停运。"
Response.End ' 立即停止脚本处理,并将缓存中的页面输出
End If
%>
如果你只看到“刷新”链接就表明clear方法已经生效<br>
<a href="<%=filepath%>">刷新</a> 

以上程序中,当输入用户名和密码同为cnbruce的时候会发现clear方法的处理结果,反之是另外一个效果。
四,Response.redirect
Redirect 方法是让浏览器立即重定向到程序指定的URL地址。这在根据客户的不同响应,为不同的客户指定不同的页面,或根据不同的情况指定不同的页面时,显得非常重要。
该方法是立即生效的,在其后的脚本都不执行。
5,redirect.asp

<%response.redirect("http://www.cnbruce.com/")%>

以上四则运用属于Response对象的几个比较重要的方法:write、end、clear、redirect等当然方法还有:AddHeader、AppendToLog、BinaryWrite、Flush……
早说过,一个ASP对象除了对象方法外,还有对象属性
那response对象的属性有哪些呢?
五,Response.ContentType
ContentType 属性指定服务器响应的 HTTP 内容类型。如果未指定 ContentType,默认为 text/html
6,contenttype.asp(非text/html的)

<% Response.ContentType = "text/HTML" %>
<% Response.ContentType = "image/GIF" %>
<% Response.ContentType = "image/JPEG" %>
<% Response.ContentType = "text/plain" %>
<% Response.ContentType = "image/JPEG" %>

六,Response.charset
Charset 属性将字符集名称附加到 Response 对象中 content-type 标题的后面,用来设置服务器响应给客户端的文件字符编码。
7,charset.asp

<% Response.charset = "big5" %>
中文显示,但采用的big5繁体的编码,所以看到的是乱码。

当然Response.ContentType和Response.charset应用得比较少了。直接在head头部属性里面添加就OK了。
七,Response.expires
该属性指定了在浏览器上缓冲存储的页,距过期还有多少时间。
如果用户在某个页过期之前又回到此页,就会显示缓冲区中的页面。
但若设置 response.expires=0,则可使缓存的页面立即过期。
这是一个较实用的属性,当客户通过 ASP 的登陆页面进入 WEB 站点后,应该利用该属性使登陆页面立即过期,以确保安全。
引用一个经典的例子
8,expires.asp

<%
Response.Expires = 0
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
%>

八,Response.status
设置服务器要响应的状态行的值。Response.status="状态描述字符串",字符串可以为一个三位整数或一串说明文字组成,但必须防在<html>之前。
9,status.asp

<% Response.Status = "401 Unauthorized" %>

九,Response.buffer
比较重要的一个,值为true or false。该属性指示是否缓冲页输出。
引用:当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了 Flush 或 End 方法后,服务器才将响应发送给客户端浏览器,服务器将输出发送给客户端浏览器后就不能再设置 Buffer 属性。因此应该在 .asp 文件的第一行调用 Response.Buffer。


Response.buffer=true

对于Response对象的属性方法先到这里,剩下一个数据集合,即cookie。
继续看cookies讲座吧。
应用举例题
表单发OutLook邮件

[Ctrl+A 全部选择进行拷贝 提示:可先修改部分代码,再点击运行]
ASP的

<%
submitname=request.form("submit")
if submitname="submit" then
email=request.form("email")
cc=request.form("cc")
subject=request.form("subject")
body=request.form("body")
response.redirect("mailto:"&email&"?cc="&cc&"&subject="&subject&"&body="&body)
else
%>
<form name="form1" method="post" action="email.asp">
email:<input name="email"><br>
cc:<input name="cc"><br>
subject:<input name="subject"><br>
body:<input name="body"><br>
<input type="submit" name="submit" value="submit">
</form>
<%end if%>