载入中
自定义HTML载入中... loading
第5章 ASP程序与ASP内置对象 [原创 2008-06-22 16:48:01]  删除... 
字体变小 字体变大

第5章  ASP程序与ASP内置对象
5.1  ASP 内 置 对 象
5.2  Response对象及使用
5.3  Server对象及应用
5.4  Request对象及应用
5.5  使 用 Form 集 合
5.6  使用Querystring集合
5.7  使用Cookies集合
5.8  使用Client Certificate集合

 本章主要介绍ASP程序与ASP内置对象。通过本章的学习,读者应该掌握以下内容:
 &O1548;  理解对象的概念
 &O1548;  Response对象、Server对象和Resquest对象及使用
 &O1548;  使用Form集合、Querystring集合和Certificate集合
5.1  ASP 内 置 对 象
 对象可以看作为物体,而且分为思维对象(物体)和实在对象(物体)。
 对象的属性指的是对象本身所具有的特性。
 对象的集合可以看作是对象所做的动作 。

 所谓对象,就是把一些功能封装好,至于其内部具体是怎么工作的,用户不需要管,只要会使用它就行了。ASP之所以简单实用,主要是因为它提供了功能强大的内部对象和内部组件。其中常用的5个内部对象包括Response、Server、Request、Session和Application,其简要说明如表5-1所示。
 本章主要讲述Responset和Server及Request三个对象。

5.2  Response对象及使用
5.2.1  Response对象简介
Response对象是用来控制发送用户的信息,包括直接发送给浏览器、重定向浏览器到另一个URL。Response对象可以使用的集合及描述如表5-2所示,属性如表5-3所示。

 

5.2.2  Response对象的集合及使用
1.Clear
 使用Clear集合可以清除缓冲区中所有的HTML输出。但Clear集合只清除响应正文而不清除响应标题。
 语法:
  Response.Clear

2.End
End集合也用于管理服务器的缓冲输出。
语法:
<%Response.End%>


例5-1  Response.End应用。
<html>
<head>
<title>Response.End用法示例</title>
</hear>
<boby>
<%
Response.Write "此句已被输出到浏览器"

Response.End
Response.write " 但这一句却没有输出"
%>
<p>还有一句
</boby>
</html>

3.Flush
Flush集合用于立即发送缓冲区的输出。
语法:
<%Response.Flush%>


4.Write
 Write集合是Response对象中最常用的集合之一,它可以把变量的值发送到用户端的当前页面。
 语法:
 Response.write变量数据或字符串


例5-2  Response.write应用。
<%
Response.Write    name &"你好" ………… 'name是一个变量,表示用户名
Response.Write    "现在是:"& now() ……….  'now()是时间函数
Response.Write    "你辛苦了"  ……..………   '输出字符串
%>

它的省略用法如下:
<%=变量或字符串%>
<%= name & "你好"%>
<      %="你辛苦了"%>


例5-3  输出语句的使用。
<html>
<head>
        <title>Response.Write用法示例</title>
</head>
<boby>

<%
Dim name,age
name = "成天笑"
age = 99
Response.Write name & "你是最最长寿的一个人"
Response.Write ",你的年龄是"&CStr(age) & "岁"
%>

<p>
<%= name &"你是最最长寿的一个人"%>
<%= ",你的年龄是"&CStr(age) & "岁"%>
</body>
</html>

5.Redirect
 Redirect集合用于使浏览器立即重定向到程序指定的URL。
 语法:
Response.Redirect网址变量或字符串

例5-4  Redirect应用。
<%
Response.Redirect "http://www.163.com  "………..   '引导至163网站
Response.Redirect "login.asp" ………   ..    '引导至login界面
Response.Redirect   name ……..    引导至变量表示的网址
%>

例5-5  Response.Redirect应用。
<html>
<head>
<title>Response.Redirect用法示例</title>
</head>
<boby>
<form name=form1" method="post" action="">

请选择用户类型:
<input type ="radio" name ="user-type" value="loader">领导
<input type ="radio" name ="user-type" value="worker">员工
<input type="submit"value="确定">
</form>


<%
If Request.form("user-type")="loader"then
Respoonse.Redirect"loader.asp" …….  
'引导至领导网页
Elseif Request.Form("user-type")="worker"then
Respoonse.Redirect"workeer.asp"  ……. 
'引导至员工网页
End if
%>
</body>
</html>

6.BinaryWrite集合
 语法:
 Response.BinaryWrite变量或字符串


5.2.3  Response对象属性
1.Response对象的Buffer属性
 Buffer属性是Response对象使用较多的属性之一,主要用来控制是否输出缓冲页,也就是控制何时将输出信息送至请求浏览器,Buffer属性的取值可以是Ture或False,若取TURE为使用缓冲页,反之异然。

例5-6  使用缓冲页。
<%Response.Buffer=Ture %>
<html>
<head> <title>Response 输出时使用缓冲页示例
       </title></head>
<boby>
<p align="center">Response输出时使用缓冲页

 〈br〉</br><p>
<% for I=1 to 1000
Response. Write "使用缓冲"
Next%>
</boby>
</html>


2.Response对象的     ContentType的属性

5.3  Server对象及应用
5.3.1  Server对象的简介
语法:
Server.集合|属性  (变量或字符串|=整数)
Server对象的属性如表5-4所示。

 

 Server对象的集合如表5-5所示。

5.3.2  Server对象的属性
 ScriptTimeout属性可以决定一个页面中脚本的运行时间,默认为90秒,如果超出最长的时间就自动停止运行,该时间可以增大调节。

例5-7  ScriptTimeout属性应用。
<%Server.ScriptTimeout=140%>
<html>
<head><title>显示此页面运行的最长的时间</title>
</head>
<boby>
<p  align="center">Server对象的ScriptTimeout属性应用<p>

<%
Response.write "此页面运行的最长时间是"
Response.write Server.ScriptTimeout
Response.write "秒"
%>
</boby>
</html>

5.3.3  Server对象的集合
1.CreateObject集合
2.HTMLEncode集合
3.URLEncode集合

4.MapPath集合
 MapPath集合是将指定的虚拟路径(相对路径或绝对路径)转换成实际的物理路径。
 语法:
 Server.MapPath(虚拟路径字符串)

例5-11  MapPath集合应用。
<html>
<head>
<title>MapPath集合示例</title>
</head>
<boby>
<%
Response.Write Server.MapPath("a.asp")
%>
</boby>
</html>

例5-12  用MapPath集合转换路径应用。
<html>
  <head><title>Server对象的MapPath集合转换路径</title></head>
  <body>
    <P align="center">Server对象的MapPath集合转换路径<P>
    <table align=center border=0>

<%
    Response.write "<tr><td>服务器的根目录是:"
    Response.write "<td>" & Server.MapPath("/")
    Response.write "<tr><td>当前目录是:"
    Response.write "<td>" & Server.MapPath("./")

    Response.write "<tr><td>当前的文件是:"
    Response.write "<td>" & Server.MapPath("7_7.asp")
%>
  </body>
</html>
5.4  Request对象及应用
1.Request对象的集合
 Request对象是ASP的请示对象,是用来从客户端浏览器获取信息的对象。
 Request对象提供了5个集合,可以用来获取客户端对Web服务器请求的各类信息,这些集合如表5-6所示。 


语法:
Request[集合|属性|集合](变量或字符串)
例5-13  Request应用。
<%
Request.Form("user_name")
Request.QueryString("user_name")
%>

2.Request对象的属性
3.Request对象的集合
5.5  使 用 Form 集 合
1.ASP与表单的交互
 网页中的表单与集合Form是两个不同的概念,虽然它们的英文名称相同。表单的功能是在客户端接受用户的输入信息,是在客户端由浏览器解释的HTML标记,而集合Form则是在服务器端的一种数据结构。

2.Form表单语法
 在HTML网页中,表单以标记<form></form>开始和结束的。表单标记的语法格式如下:
<form  name=该form的名称>
         method=表单上传集合,取值为post或get,通常取值为post

         acction=处理程序的网址
         enctype=数据传送mime类型,通常可以省略
         onsubmit=按下onsubmit所调用的程序,通常可以省略
         form表单元素(如文本框、单选框、复选框等)
</form>

例5-14  Form表单应用。
<html>
<head>
       <title>Form的表单</title>
</head>
<boby>
      <form name="test" method="post" action="ch5-15.asp">
            aa<input type="text" name ="aa">

            +
            bb<input type="text" name ="bb">
           
            <p>
            <input type="submit" value="计算">
      </form>
</boby>
</html>

例5-15  Form集合应用。
<html>
<head>
<title >Form集合示例</title>
</head>
<boby>

  <%
  Dim aa,bb,cc
  aa=Request.Form("aa")
     bb= Request.Form("bb")
cc=CInt(aa)+CInt(bb)
      Response.Write "aa+bb的和="& CStr(cc)
%>
</boby>
</html>

例5-16  建立一个复杂的表单文件。
<html>
  <head><title>输入数据的表单</title></head>
  <body>
    <p align=center>输入数据的表单
    <form action="ch5-17.asp" method="post">
    <table align=center border=1>
    <tr valign=baseline>

        <td>姓名:<input type="text" name="xm" size=8>
        <td>性别:男<input type="radio" name="xb" value="男" checked>
                  女<input type="radio" name="xb" value="女">
        <td>密码:<input type="password" name="mm" size=12>
    <tr><td colspan=3>爱好:
          <input type="checkbox"

name="ah" value="音乐">音乐
          <input type="checkbox" name="ah" value="汽车">汽车
          <input type="checkbox" name="ah" value="钓鱼">钓鱼
          <input type="checkbox" name="ah" value="集邮">集邮
          <input type="checkbox" name="ah" value="绘画">绘画
    <tr><td>学历:<br>

          <select name="xl" style="width:100px" size=4>
            <option value="小学">小学
            <option value="中学">中学
            <option value="大专">大专
            <option value="本科" selected>本科
            <option value="研究生">研究生
          </select>
        <td colspan=2>生活格言:<br>

          <textarea name="adage" cols=30 rows=4></textarea>
    </table>
    <p align=center><input type="submit" value="提交">
          <input type="reset" value="重写">
    </form>
  </body>
</html>

例5-17  用For…next语句读取例5-16 Form集合中元素的值。
<html>
<head>
<title>用for…next语句读取form集合示例
</title>
</head>
  <body>

<p align="center">for…next语句读取form集合示例
<p>
    <p>欢迎您登录本站点<p>
<%
     for i=1 to request.form.count
       response.write(request.form(i)&"<br>")
     next
%>

<p align="center">这些信息对吗?
    <a href="ch5-11.asp">请验证不对,返回</a></p>
  </body>
</html>
5.6  使用Querystring集合
 QueryString集合是Request对象中最常用的一个集合,它是将并不是客户端输入的内容从一个页面传送到另一个页面。

例5-18  QueryString集合应用。
<html>
  <head><title>QueryString用法示例</title>
</head>
  <body>
    <form action="ch5-19.asp" method="get">
     用户名:<input type=text name=mm value=' 'size="20"><br>

密码:<input type=password name=pwd value=' 'size="20"><br>
       <input type="submit" value="提交">
       <input type="reset" value="重写">
    </form>
  </body>
</html>

例5-19  Querystring集合应用。
<html>
  <head><title>querystring用法示例</title>
</head>
  <body>

<%
dim mm,pwd
umm=request.querystring("mm")
upwd=request.querystring("pwd")
response.write  "用户名是:" & umm
response.write  "密码是:" & upwd 
%>
  </body>
</html>
5.7  使用Cookies集合
1.Cookies基本知识
(1)什么是Cookies?
 Cookies是数据包,可以让网页具有记忆功能,在某台电脑上记忆一定的信息。Cookies的工作原理是:第一次由服务器端写入到客户端的系统中,以后每次访问这个网页,都是先由客户端将Cookies发送到服务器端,再由服务器端进行判断,然后再产生HTML代码返回给客户端 。

(2)Cookies为何能够持久发挥作用?
 如果服务器没有检测到与用户的对话对应的独一无二的ID,它将生成一个ID并以Cookies的形式发送至客户端。因此,如果用户接受此Cookies,只需接受一次即可。如果不接受此Cookies,伴随每一次点击,都将收到同样的Cookies接受请求,直至接受为止。

(3)Cookies对于访问者有什么作用?
 浏览网上商店时,如果选择了几款货物放到购物车里,然后离开。借助Cookies,几天以后再回来时,可以不必重复以前的操作,所选择的货物会仍然保存在购物车中。此外,借助Cookies技术,还可以更好地使用广告页面或网站特定访问区域提供的信息。总体上说,Cookies能够让我们通过分析数据流检测到什么对自己有用,什么没有用,因此可以帮助网站开发者提供更好的网站。

2.使用Response对象设置   Cookies
 Cookies是通过Response对象的Cookies来创建的。Cookies共有5个属性,如表5-8所示。


 语法:
 Response.Cookies(Cookies名)[key].[属性]=值

 下面是几个具体实例。
 (1)设置一个不含key的Cookies。
<%Response.Cookies("username")="陈建军"%>
 (2)设置一个含key的Cookies。
<%Response.Cookies("username")(name1)= "陈建军"%>
 (3)设置Cookies有效期。
<%Response.Cookies("username").Expires=#2004-10-2#%>

3.使用Request对象设置  Cookies
 利用Request对象的Cookies集合的目的在于获取Cookies的值。
 语法:
Request.Cookies(Cookies名)[key].[属性]

例如:
(1)不指定key的用法为了获取一个叫Myname的值:
<%=Request.Cookies("Myrname")%>
(2)指定key的用法为了获取一个叫Myname的值:
<%Response.Writer Request.Cookies("Myrname")("name")%>

4.Cookies的综合实例
 例5-20  Cookies应用。
 <html>
   <head><title>Cookies用法示例</title>
 </head>
   <body>

<%
dim myvisitetimes
dim i
myvisitetimes=request.cookies("myvisitetimes")
if myvisitetimes = " " then
i=1

else
i=i+1
end if
response.write"你是第" &i&"次访问本站! "
%>
  </body>
</html>
5.8  使用Client Certificate集合
 Request对象的Client Certifitcate集合,用于当客户端通过ASP访问服务器的一个页面,可以通过Client Certificate集合向服务器表明自己的身份。
 

语法:
Request ClientCertificate(key[SubField])
 其中key是身份字段名,SubField是位于身份字段的子字段。

 

所属版块: 科技
票数:
什么是“我顶”?
点击数:    评论数:
本文章引用通告地址(TrackBack Ping URL)为:
本文章尚未被引用。
发表评论
大 名:
(不填写则显示为匿名者)
网 址:
(您的网址,可以不填)
标 题:
内 容:
请根据下图中的字符输入验证码:
(您的评论将有可能审核后才能发表)
和讯个人门户 v1.0 | 和讯部落 | 客服中心