您当前的位置: 首页 > 网站编程 > ASP教程 > ASP教程:深入认识学习ASP内置对象Response

ASP教程:深入认识学习ASP内置对象Response

作者:guanchaofeng 来源:不详 发布时间: 2009-03-24 17:22 点击:
通过对Request对象的学习,可以了解到,Request对象是服务器端用来获取客户端的信息的。 但作为服务器和客户端进行交互,是不是还缺少服务器端向客户端发送信息呢?对象Response正是担任此责任。 负责将信息传递给用户的对象就是Response了,它可动态地响应

ASP教程:深入认识学习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>
  
  当然要产生指定范围的随机整数,请使用以下公式:
  
  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>
  
  随机函数在做考试系统的时候非常有用,当然你也可以用来自己摇奖,拿个头彩也分点我就行了
  
  二,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="webjx" and pwd="webjx" Then
  
  response.write "采用clear方法,上面的程序结果将清除。"
  
  response.clear ' 清空存储在缓存中的页面
  
  Else
  
  response.write "采用end方法,下面的程序将停运。"
  
  Response.End ' 立即停止脚本处理,并将缓存中的页面输出
  
  End If
  
  %>
  
  如果你只看到“刷新”链接就表明clear方法已经生效<br>
  
  <a href="<%=filepath%>">刷新</a>
  
  以上程序中,当输入用户名和密码同为webjx的时候会发现clear方法的处理结果,反之是另外一个效果。
  
  四,Response.redirect
  
  Redirect 方法是让浏览器立即重定向到程序指定的URL地址。这在根据客户的不同响应,为不同的客户指定不同的页面,或根据不同的情况指定不同的页面时,显得非常重要。
  
  该方法是立即生效的,在其后的脚本都不执行。
  
  5,redirect.asp
  
  <%response.redirect("http://www.webjx.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()">
  
  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%>

分享到:
本文"ASP教程:深入认识学习ASP内置对象Response"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4