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

通过对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,则无法继续生成随机种子。

下面一个利用随机函数的例子,产生随机背景颜色效果:
<script language=vbs>
Randomize '首先Randomize产生随机种子
suij=rnd() '接着将函数值赋变量suij
suij=replace(suij,".","9") '然后对变量suij中小数点符号转换为数字9
suij=left(suij,6) '再取变量中的左6位
document.write "<body bgcolor=#"&suij&">" '最后应用到背景颜色中去
</script>

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

当然要产生指定范围的随机整数,请使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界。
<script language=vbs>
Do Until choose = vbNo
value = Int((41 * Rnd) + 60) '产生 60 到 100 之间的随机数。
msgbox value
choose = MsgBox ("Roll again? ", vbYesNo)
Loop
</script>

[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邮件
<style>
input{ border:1px solid navy; width:150}
</style>
<script>
function test(){
var NewTitle=title.value;
var NewContent=content.value;
document.location.href="mailto:"+aaa.value+"?cc="+bbb.value+"&bcc="+ccc.value+"&subject="+NewTitle+"&body="+NewContent;
}
</script>
<pre>
<font color=red>收件人: </font><input name=aaa><br>
<font color=red>操送: </font><input name=bbb><br>
<font color=red>密件操送: </font><input name=ccc><br>
<font color=red>主题: </font><input name=title><br>
<font color=red>内容: </font></pre><p>
<textarea cols=30 rows=10 name=content></textarea><br>
<input type=button value="send" onClick="test()">

[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%>

(0)

相关推荐

  • ASP编程入门进阶(十三):Ad & Content Rotator

    ASP的强大不仅仅局限于接受和显示的交互,更多的是运用ActiveX 组件进行更强大的Web应用. 那究竟ActiveX组件为何物?它又是如何运作的呢?其实ActiveX Server Components(ActiveX 服务器组件)是一个存在于 WEB 服务器上的文件,该文件包含执行某项或一组任务的代码,组件可以执行公用任务,这样就不必自己去创建执行这些任务的代码.很形象的一句话:运用组件直接采用别人经典的功能强大的程序.只不过这程序已被封装了的. 那具体ActiveX组件是如何产生.如何得

  • ASP编程入门进阶(十四):Browser & Linking

    一.Browser Capabilities组件 该组件最主要的作用是:提取识别客户端浏览器的版本信息. 其原理是这样的:当客户端浏览器向服务器发送页面请求时,同时会自动发送一个User Agent HTTP标题,而该标题是一个声明浏览器及其版本的 ASCII 字符串.而Browser Capabilities组件就将User Agent映射到在文件Browscap.ini中所注明的浏览器 , 并通过BrowserType对象的属性来识别客户浏览器. 若该对象在 browscap.ini 文件中

  • asp.net内置对象 Response对象使用介绍

    Response对象是HttpRespone类的一个实例.该类主要是封装来自ASP.NET操作的HTTP相应信息.Response对象将数据作为请求的结果从服务器发送到客户浏览器中,并提供有关响应的消息.它可用来在页面中输出数据,在页面中跳转,还可以传递各个页面的参数. 一.向页面中输出数据 语法格式        Response对象通过Write方法或WriteFile方法在页面输出数据,输出的对象可以是字符,字符串,字符数组,对象或文件.        用Response输出数据时,ASP

  • ASP编程入门进阶(一):安装配置服务器

    本人的水平有限,难免有疏忽遗漏之处,还望大家批评指正,在此先谢过. ASP编程入门进阶(一):安装配置服务器 鉴于ASP脚本语言是在服务器端IIS或PWS中解释和运行,并可动态生成普通的HTML网页,然后再传送到客户端供浏览的这一特点.我们要在本机上进行调试,那就要求我们的个人电脑具有服务器的功能. 不要看到"服务器"三个字就感到担心:我的机子配置这么底,性能这么差,是不是不能配啊.放心!配个服务器,就是多装个软件,况且就自己一个人用,根本没有必要多虑.那具体的装个什么软件呢?刚才我们

  • ASP编程入门进阶(四):内置对象Request

    系统学习ASP,就是先从ASP的几大内置对象开始的.一般称五大对象:Request.Response.Server.Session.Application今天先来看看Request对象. 当然一直还没有提到的就是,ASP到底是什么样?我看代码怎么知道是ASP代码?很简单,当看到"<%"和"%>"就表明是ASP,并且两者之间的就是ASP源码. 那为什么要学对象,对象的作用又是如何的?其实ASP所提供的这些可在脚本中使用的内建对象,使用户更容易收集通过浏览器

  • ASP编程入门进阶(二):认识表单

    说实话,无论是asp,php还是jsp进行网络编程的时候,都离不开和用户的交互.而人机对话的平台,基本上是靠相应的文本.列表框进行输入,然后通过按钮提交送至数据库的.所以学习网络编程就一定要了解这些输入平台相关的东西:表单(form)其基本格式如下:<form name="form1" action="xxx.asp" method="post"> <input type="text" name="

  • ASP编程入门进阶(三):接触脚本程序

    有了前面的html中关于form的强化知识,是不是在想,下面就可以开始ASP之旅呢?未必.一般系统学过ASP的编程人员都会切身体会到:在系统学习ASP的内置对象和内置组件之前,学会脚本语言永远是至关重要的.为什么这么说呢?为什么要学脚本语言呢?ASP和脚本语言又有什么关系呢? 首先说说ASP是贵为何物吧.ASP是Microsoft Active Server Pages的简称,它是一种服务器端脚本环境,可用来创建交互式 Web 页并建立强大的 Web 应用程序.可以表明ASP是一种基于服务器端的

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

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

  • ASP编程入门进阶(七):内置对象Server

    Server 对象提供对服务器上的方法和属性的访问 , 其中大多数方法和属性是作为实用程序的功能服务.(IIS HELP翻译)有了 Server 对象,你就可以在服务器上启动 ActiveX 对象例程,并使用 Active Server 服务提供象 HTML 和 URL 编码这样的函数.一,Script.ScriptTimeout在脚本运行超过一段时间之后,即作超时处理.服务器一般的默认脚本运行时间是90秒.你可以从"Internet信息服务"中"默认Web站点"的

  • ASP编程入门进阶(九):内置对象Application

    在Web应用程序中,当一个用户访问该应用时,Session类型的变量可以供这个用户在该Web应用的所有页面中共享数据:如果另一个用户也同时访问该Web应用,他也拥有自己的Session变量,但两个用户之间无法通过Session变量共享信息,而Application类型的变量则可以实现站点多个用户之间在所有页面中共享信息.可以理解Session是局部变量,而Application则为全局变量. 在同一虚拟目录及其子目录下的所有 .asp 文件构成了 ASP 应用程序.我们非但可以使用 Applic

随机推荐