配色: 字号:
《ASP动态网页制作基础教程》第4章 ASP内置对象
2023-05-24 | 阅:  转:  |  分享 
  
第4章 ASP内置对象4.1 ASP概述4.2 使用Response对象4.3 使用Request对象4.4 使用Server对象
4.5 使用Session对象4.6 使用Application对象本章小结  ASP提供了一些常用的内置对象,通过这些内置对
象可以向客户端输出数据、存取Web服务器的方法和属性、保存会话信息等。本章将先详细介绍ASP编程的语法规则,然后依次介绍Respo
nse、Request、Server、Session和Application等ASP内置对象的使用方法。     ASP是一个
服务器端脚本编写环境,用于创建动态的交互式Web服务器应用程序。   本节将重点介绍ASP编程的语法规则,然后简单介绍ASP的内置
对象。4.1 ASP概述4.1.1 ASP的语法规则   1. ?@ LANGUAGE命令   @ LANGUAGE命令指令用
于设置解释脚本命令的语言,其语法格式如下:   <%@ LANGUAGE =ScriptingLanguage%> 其中,Scri
ptingLanguage参数是一个字符串,指定用于解释脚本命令的脚本引擎,取值可以是“VBSCRIPT”或“JSCRIPT”,也
可以是在IIS中安装的任何引擎,默认情况下的值为VBSCRIPT。  2.? ASP分隔符   HTML的分隔符为小于号(<)和大
于号(>),中间包含HTML标记。ASP使用分隔符<%和%>来包含脚本命令,在分隔符之间,可以包含任何符合所用脚本语言规范的命令。
  图4-1  案例4-1:编写一个ASP程序,输出4个不同字号的“HELLO”,显示效果如图4-1所示。   【操作步骤】  
 (1) 打开记事本编辑器,输入以下代码:   <%@ LANGUAGE="VBSCRIPT" %>       AD>   HELLO         <% FOR i=1 TO 4
%>  >HELLO
  <% NEXT %>   
     (2) 将该文件保存为“4-1.asp”,然后用IE浏览器打开,输入测试页的地址,按下ENTER键。若PW
S或IIS在本地计算机上,则可以输入http://localhost/asp/4-1.asp,显示如图4-1所示的效果图。  提示
:   (1) “=i”中的等号表示取i的值。   (2) 运行本实例后查看测试页的源代码,分析一下ASP程序的执行过程。4.1.
2 ASP的内置对象   通俗地理解,“对象”就是具有一系列方法、属性、资料集合的结构,其中对象方法提供了处理与该对象相关问题的
状态,对象属性表示和储存对象的状态。ASP提供了一些内置对象,下面给出部分内置对象的快速预览。   (1) ?Response对象
。使用Response对象可以控制发送给用户的信息,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置Cookie的值。
  (2) ?Request 对象。使用 Request 对象可以访问任何用HTTP请求传递的信息,包括从HTML表格用Post方
法或Get方法传递的参数、Cookie和用户认证。Request 对象能够访问发送给服务器的二进制数据,如上载的文件。  (3)
?Server 对象。Server 对象提供对服务器上的方法和属性进行的访问。最常用的方法是创建 Ac Tivex组件的实例 (S
erver.Createobject)。其他方法用于将URL或Html 编码成字符串,将虚拟路径映射到物理路径以及设置脚本的超时期
限。   (4) ?Session 对象。Session对象用来储存一个会话内的信息。   (5) ?Application 对象
。使用 Application 对象可以使给定应用程序的所有用户共享信息。     1. 填空题   (1) ?ASP中使用
命令来设置用于解释脚本命令的语言。   (2) ?ASP使用分隔符 来包含脚本命令。   2
. 上机实训   编写一个ASP网页,以不同字号输出“ASP动态网页设计!”。作 业     Response对象与一
个HTTP响应相对应,通过该对象可以控制如何将服务器端的数据发送到客户端的浏览器。本书将重点介绍Response对象的Buffer
属性和一些常用的方法。4.2 使用Response对象4.2.1 Response对象概述   Response对象是用来控制
给用户发送信息的,包括直接发送信息给浏览器、重定向浏览器到另一个URL等,它的语法格式如下:   Response [.集合|方法
|属性]4.2.2 向客户端输出数据   使用Response对象的Write方法可以将指定的字符串写到当前的HTTP输出,语法
格式如下:   Response. Write "字符串"  案例4-2:使用Response.Write方法向客户端浏览器输出一
个完整的HTML页面,显示效果如图4-2所示。   【操作步骤】   (1) 打开记事本编辑器,输入以下代码:   <%@ LAN
GUAGE="VBSCRIPT" %>   <%   Response.Write ""   Response.Wr
ite ""   Response.Write ""   Response.Write "respons<br> e实例"   Response.Write ""   Response.Write ""  图4-2
  Response.Write " "   Response.Write "


看看这个对象的用法好不好?

"   Response.Write ""   Respon
se.Write ""   %>   (2) 将该文件保存为“4-2.asp”,然后用IE浏览器打开,输入测试页的地
址,按下ENTER键。若PWS或IIS在本地计算机上,则可以输入http://localhost/asp/4-2.asp。  提示
:   (1) ?Response对象中所输出的“字符串”可以包含任何有效的HTML标记,但不能包含字符组合%>,如果要输出这个字
符组合,则需使用转义序列%\>。   (2) 使用Write方法输出字符串的长度不能大于1024个字符。   (3) 在编写脚本时
,可以用“=”来代替。例如,Response. Write num也可以写成<% =num %>。   (4) 若要同时输出多个字
符串,则可使用Response. Write str1 & str2 & str3 & …来表示,其中&为字符串连接符。4.2.3
设置缓冲输出   使用Response对象的Buffer属性可以指定是否输出缓冲页面,语法格式为   Response. Bu
ffer=True | False   当Buffer属性值设置为True时,只有当前页的所有服务器脚本处理完毕或者调用了Flus
h或End方法后,服务器才将响应发送给客户端浏览器。如果将Buffer属性设置为False,则服务器在处理脚本的同时将输出发送到客
户端浏览器。   合理设置Response对象的Buffer属性会提高ASP页面的执行效率。  案例4-3:编写两个ASP网页4-
3a.asp和4-3b.asp,输出1~1000之间的整数,并计算所用时间,要求在4-3a.asp中将Buffer属性设为True
,在4-3b.asp中将Buffer属性设为False。   【操作步骤】   (1) 打开记事本编辑器,输入以下代码:   <%
@ LANGUAGE="VBSCRIPT" %>   <% Response.Buffer=True %>     
   设置页面缓冲         <%   Starttim
e=Timer   For i=1 To 1000    Response.Write i & Space(6)    If
i Mod 20=0 Then Response.Write "
"   Next   Endtime=Timer   I
nterval=Endtime-Starttime   Response. Write " 花费的时间为" & Interv
al & "秒
"   %>         (2) 将该文件保存为“4-3a.asp”,然后用
IE浏览器打开,输入测试页的地址,按下ENTER键,显示如图4-3所示的效果图。  图4-3  (3) 打开记事本编辑器,输入以下
代码:   <%@ LANGUAGE="VBSCRIPT" %>   <% Response. Buffer=False %>
        不设置页面缓冲         <
%   Starttime=Timer   For i=1 To 1000    Response.Write i & Spac
e(6)   If i Mod 20=0 Then Response.Write "
"   Next   Endtim
e=Timer   Interval=Endtime-Starttime   Response. Write " 花费的时间
为" & Interval & "秒
"   %>         (4) 将该文件保存为“4-
3b.asp”,然后用IE浏览器打开,输入测试页的地址,按下ENTER键,显示如图4-4所示的效果图。  图4-4  提示:   
(1) 在ASP网页中,设置Buffer属性的语句应该放在<%@LANGUAGE %>命令的后面一行。   (2) 在IIS5.0
及以后的版本中,Buffer属性的默认值为True,在早期的版本中,Buffer属性的默认值为False。4.2.4 清除或输出
缓冲区内容   当设置缓冲页面输出时,既可以清除缓冲区中的所有内容,也可以立即输出其中的所有内容。   使用Response对象的
Clear方法可以清除缓冲区的所有HTML输出,但Clear方法只清除响应正文而不清除响应标题。其语法格式如下:   Respon
se. Clear   使用Response对象的Flush方法可以立即输出缓冲区中的内容,语法格式如下:   Response.
Flush  案例4-4:分别使用Clear和Flush方法,完成如图4-5、图4-6、图4-7所示的效果图。   【操作步骤】
  (1) 打开记事本编辑器,输入以下代码:   <%@ LANGUAGE="VBSCRIPT" %>   <% Respon
se.Buffer=True %>         Response方法  
       <%   Response.Write "计算机应用专业"   Response.Wr
ite "
"   Response.Write "计算机软件专业"   %>        
 (2) 将该文件保存为“4-4a.asp”,然后用IE浏览器打开,?输入测试页的地址,?按下ENTER键。若PWS或IIS在本地
计算机上,则可以输入http://localhost/asp/4-4a.asp。效果图如图4-5所示。  图4-5  (3) 打开
记事本编辑器,输入以下代码:   <%@ LANGUAGE="VBSCRIPT" %>   <% Response.Buffer
=True %>         Response方法   
     <%   Response.Write "计算机应用专业"   Response.Write "

"   Response.Clear   Response.Write "计算机软件专业"   %>      <
/HTML>   (4) 将该文件保存为“4-4b.asp”,然后用IE浏览器打开,?输入测试页的地址,?按下ENTER键。若PW
S或IIS在本地计算机上,则可以输入http://localhost/asp/4-4b.asp。效果图如图4-6所示。  图4-6
  (5) 打开记事本编辑器,输入以下代码:   <%@ LANGUAGE="VBSCRIPT" %>   <% Respons
e. Buffer=True %>         Response方法  
       <%   Response. Write "计算机应用专业"   Response.
Flush   Response. Write "计算机软件专业"   Response. Clear   %>    Y>      (6) 将该文件保存为“4-4c.asp”,然后用IE浏览器打开,?输入测试页的地址,?按下ENTE
R键。若PWS或IIS在本地计算机上,则可以输入http://localhost/asp/4-4c.asp。效果图如图4-7所示。
  图4-7  提示:   使用Response对象的Clear和Flush方法要求设置缓冲输出,因此要将Buffer属性设置为T
rue,否则会出现错误。4.2.5 停止向缓冲区输出数据   使用Response对象的End方法可以使Web服务器停止处理脚本
并输出当前结果,程序中的其他内容不再处理。其语法格式如下:   Response. End   如果Response对象的Buff
er属性被设置为True,则调用End方法会立即把缓冲区的内容输出到客户端浏览器并清除缓冲区。如果要清除客户端的所有输出,则要在调
用Response对象的End方法前调用Clear方法。   案例4-5:使用Response对象的End方法,实现如图4-8所示
的效果图。   【操作步骤】   (1) 打开记事本编辑器,输入以下代码:   <%@ LANGUAGE="VBSCRIPT" %
>         End方法        
 <%   图4-8  i=1   For i=1 to 1000    Response. Write i & space
(6)    If i mod 10=0 then Response. Write "
"    If i>=100
then Response. End   Next   %>        (2) 将该文件保存为“
4-5.asp”,然后用IE浏览器打开,?输入测试页的地址,?按下ENTER键。若PWS或IIS在本地计算机上,则可以输入http
://localhost/asp/4-5.asp。4.2.6 重定向网址   使用Response对象的Redirect方法可以
使浏览器立即重定向到程序指定的URL。语法格式如下:   Response. Redirect URL   其中,参数URL是浏览
器重定向到的页面的URL地址。  案例4-6:设计一个ASP程序,将网页重定向到案例4-5的网页。   【操作步骤】   (1)
打开记事本编辑器,输入以下代码:   <%@ LANGUAGE="VBSCRIPT" %>      
  End方法        <%   Response. Redir
ect "4-5.asp"    %>         (2) 将该文件保存为“4-6.asp”,然后
用IE浏览器打开,?输入测试页的地址,?按下ENTER键。若PWS或IIS在本地计算机上,则可以输入http://localhos
t/asp/4-6.asp,得到效果图如图4-9所示。  图4-9     1. 填空题   (1) 若要将服务器的数据发送到
客户端的浏览器,可以使用Response对象的   方法。   (2) 使用Response对象的Buffer属
性可以指定是否缓冲页面输出,该属性取值为   和 。在IIS5.0及以后的版本中,Buffer属性的默认值为
,在早期的版本中Buffer属性的默认值为 。 作 业   (3) 当设置缓冲页面输出时,若要删除缓冲区中
的HTML输出,应调用Response对象的 方法;若要立即发送缓冲区的输出,应调用Response对象的
方法;若要使Web服务器停止输出并返回当前结果,则调用Response对象的 方法。   (4) 若要使浏览器重定向
到指定的网页,可以使用Response对象的 方法。  2. 上机实训   (1) 编写一个ASP程序,使用Respo
nse.Write方法向客户端浏览器输出一个完整的HTML文件。   (2) 编写两个ASP程序,实现输出1~5000之间的所有整
数。要求:将一个程序中的Buffer属性设置为True,将另一个程序中的Buffer属性设置为False。     前面介绍的
Response对象可以将输出从服务器发送到客户端,反过来,在实际应用中经常要获取从客户端浏览器传递给Web服务器的数据,例如检查
查询字符串,检查HTML提交的表单数据以及保存在客户端的Cookie信息等。这时就应用到了Request对象。   本节将重点介绍
Request对象的QueryString集合、Form集合和Cookie集合。4.3 使用Request对象4.3.1 Re
quest对象概述   Request对象在HTTP请求中检索客户端传给服务器的值。语法格式如下:   Request[.集合|属
性|方法](变量)   Request对象包含3类成员,分别是集合、属性和方法,其中集合包含了客户端的数据内容,常用的集合主要有Q
ueryString集合、Form集合和Cookie集合。Request对象的属性和方法各有一个,由于很少使用,这里就不再介绍了。
4.3.2 QueryString集合   Request对象的QueryString集合用来检索HTTP查询字符串中变量的值,
语法格式如下:   Request. QueryString(变量)   网页常采用表单的形式与访问者进行交互。用户在表单中输入信
息后,单击“确定”或“提交”按钮后将数据提交到服务器上。在HTML中,表单FORM的语法结构如下:   
  
  其中,Action属性用
于指定要将数据发送到哪个页面,Method指定发送数据的方法,取值可以是POST和GET中的一个。当采用GET方式时,ASP要通过
Request.QueryString集合来检索表单数据;当采用POST方式时,ASP使用Request.Form集合来检索表单数
据。  案例4-7:使用GET方法传递如图4-10所示的表单的值,并将结果在ASP页面中显示出来,显示结果如图4-11所示。   
【操作步骤】   (1) 打开记事本编辑器,设计表单程序,输入以下代码:         G<br> ET方式提交表单数据        图4-10  图4-11  
"Form1" Method="Get" Action="4-7.Asp">   用户名: Name="Text1" Size=10>
  性 别: Value="先生">先生女士
  
          (2) 打开记事本编辑
器,设计显示表单信息程序,输入以下代码:   <%@ LANGUAGE="VBSCRIPT" %>       D>   GET方式提交表单数据         <%   If Re
quest.Querystring("Sex")="先生" Then    Response. Write "欢迎你,"&R
equest.Querystring("Text1")&"先生"   Else    Response. Write "欢迎
你,"&Request.Querystring("Text1")&"女士"   End If   %>      
  (3) 将以上两个文件分别保存为“4-7.htm”和“4-7.asp”,然后用IE浏览器打开,输入测试页的地址,
按下ENTER键。若PWS或IIS在本地计算机上,则可以输入http://localhost /asp/4-7.htm,得到效果图
如图4-10所示,单击“提交”按钮后得到效果图如图4-11所示。   提示:   (1) 查询字符串以问号(???)开始,包含几对
字段名和分配的值。不同的字段名和值对用&符号连接。   (2) ?GET方式是通过URL来传递的,而URL传递的最大字符串长度是1
024,因此,GET方式不能发送较长的数据。4.3.3 Form集合   Request对象的Form集合可以检索在HTTP请求
中通过POST方式发送的表单数据,语法格式为   Request.Form(变量)   POST方式在HTTP请求中发送数据,几乎
不受数据长度的限制。  案例4-8:创建两个网页“4-8.htm”和“4-8.asp”,在静态网页中包含图4-12中的表单数据,并
通过POST方法提交数据,在动态网页中通过Form集合检索数据,如图4-13所示。   【操作步骤】   (1) 打开记事本编辑器
,设计表单程序,输入以下代码:         POST方式提交表单数据
       图4-12  图4-13     

姓名:


  

性别:男  &nbs
p;    

   >爱好:   看电影 
     
足球       ="游泳">游泳

  

  &nbs
p;   

       (2)
打开记事本编辑器,设计显示表单信息程序,输入以下代码:   <%@ LANGUAGE="VBSCRIPT" %>    >      POST方式提交表单数据        你的个
人资料如下:   

姓名:<%=Request. Form("Myname")%>

  

性别:<%=Reques
t. Form("Radio1")%>

  

爱好:   <%   If Request. Form("Check1"
)<>"" Then    Response. Write Request. Form("Check1") &"&Nbsp;&
Nbsp;"   End If   If Request. Form("Check2")<>"" Then    Respo
nse. Write Request. Form("Check2")&"&Nbsp;&Nbsp;"   End If   If R
equest. Form("Check3")<>"" Then    Response. Write Request. Fo
rm("Check3")&"&Nbsp;&Nbsp;"   End If   %>

     
>   (3) 将以上两个文件分别保存为“4-8.htm”和“4-8.asp”,然后用IE浏览器打开,输入测试页的地址,按下ENT
ER键。若PWS或IIS在本地计算机上,则可以输入http://localhost /asp/4-8.htm,得到效果图如图4-1
2所示,单击“提交”按钮后得到效果图如图4-13所示。  思考:   Request对象的QueryString集合和Form集合
在获取HTTP请求的数据时有什么不同? 4.3.4 使用Cookie   Cookie是一个简单的文本文件,主要是一些标记码,记
录了访问过的Web站点及访问次数、访问时间和进入站点的路径等信息。它是Web服务器嵌入客户机中以标记用户的标记,是服务器或脚本可以
维护用户信息的一种方式。   当用户访问一个Web站点时,Web服务器可以在用户的计算机上建立一个Cookie文件,里面包含用户的
有关信息,如用户信息、密码、用户登录时间和次数等。以后,无论何时连接服务器,Web站点服务器都可以访问这个Cookie文件,查询和
修改其中的信息。  1. 设置Cookie   ASP程序中使用Response对象的Cookie集合来设置Cookie的值。Co
okie创建的方法有两种:一种是创建单值的Cookie;另一种是创建Cookie字典类型的Cookie,即允许多个键值的存在。  
1) 创建单值Cookie   Response对象使用Cookie集合来设置Cookie,例如:   Response.Cook
ies("UserName")="Tom"   上述例子将名字为UserName的Cookie赋值为Tom,如果该Cookie不存
在,则浏览器会自动新建一个名为UserName的Cookie并进行赋值操作;如果该Cookie已经存在,浏览器会重新给Cookie
赋值。  2) 创建多值Cookie   一个Cookie可以有多个键值,这样的Cookie称为Cookie字典,例如:   Re
sponse.Cookies("User")("Name")="Tom"   Response.Cookies("User")(
"Age")="28"   Response.Cookies("User")("Sex")= "Male"   上面的代码创建一个
名为User的Cookie字典,其中有3个键,分别是Name、Age、Sex,这3个键和相应的值都在一个大的Cookie中。  2
. 输出Cookie   ASP程序中使用Request对象的Cookie集合来获取Cookie的值,如下所示:   <% =Re
quest.Cookies("UserName") %>   对于Cookie字典,Response对象的Cookies集合可以按
每一个键的相应名称显示相应键值,如下所示:   <% =Request.Cookies("User")("Name") %>   
<% =Request.Cookies("User")("Age") %>  案例4-9:使用Cookie制作一个简单的网页计数器
,运行结果如图4-14所示。   【操作步骤】   (1) 打开记事本编辑器,输入以下代码:   <%@ LANGUAGE="VB
SCRIPT" %>   <% Response. Buffer=True %>          LE>使用COOKIE制作一个简单的计数器        图4-14  <%   n=
Request. Cookies("user")("times")   If n=0 then    n=1    Resp
onse. Write "本页面第一次被访问"   else    n=n+1    Response. Write "本页面
已经被访问了"& n &"次"   End If   Response. Cookies("user")("times")=n  
 %>        (2) 将该文件保存为“4-9.asp”,?然后用IE浏览器打开,?输入测试页的
地址,?按下ENTER键。若PWS或IIS在本地计算机上,则可以输入http://localhost/asp/4-9.asp,多次
刷新得到效果图如图4-14所示。   提示:   使用Cookie就必然使用到缓冲区输出,因此要将Buffer属性设置为True。
     1. 填空题   (1) 服务器端要获取客户端所提交的表单数据,需要使用 对象来实现。   (2) 若
表单中的数据中包含大量的图片或者大量的文本,此时表单应采用 方法提交。   (3) 当HTML表单用 方法
向ASP文件传递数据时,用户提交的数据将被附在URL的查询字符串中一起被提交到服务器指定的文件中。作 业  (4)
是一个简单的文本文件,主要是一些标记码,记录了访问过的Web站点及访问次数、访问时间和进入站点的路径等信息。   (5) 在A
SP程序中,使用 对象的Cookie集合来设置Cookie,使用 对象的Cookie集合来输出Cookie
。   (6) 一个Cookie可以有多个键值,这样的Cookie称为 。  2. 上机实训   (1) 创建一
个HTML文件如图4-15所示,并将其提交的内容显示出来,如图4-16所示。  图4-15  图4-16     Serve
r对象主要用于服务器相关的操作,例如可以创建各种服务器组建实例,访问数据库,处理HTML和URL编码以及获取服务器对象的路径信息等
。   本节讲解ASP内置对象的Server对象,并掌握如何使用Server对象来完成ASP的动态指令。4.4 使用Server
对象4.4.1 Server对象概述   Server对象提供对服务器上的属性和方法的访问,语法格式如下:   Server[.
属性|方法]   Server对象仅支持ScriptTimeout属性,用于指定超时值,在脚本运行超过这一时间后即做超时处理。  
 Server对象的常用方法有CreateObject、Execute、Transfer、HTMLEncode、URLEncode
和MapPath,下面将重点介绍CreateObject、Execute和Transfer 3种方法。4.4.2 创建服务器组件
实例   CreateObject方法是Server对象中最为重要的方法。它用于创建服务器组件的实例,通过使用服务器组件实例,可以
扩展ASP的功能。语法格式如下:   Server. CreateObject("组件名称")   利用CreateObject方
法来创建服务器组件实例将在第5章中做详细介绍,这里就不介绍了。4.4.3 执行指定的ASP文件   使用Server对象的Exe
cute方法可以调用一个ASP文件并对其进行处理,语法格式如下:   Server. Execute("文件路径")   其中,“
文件路径”是一个字符串,用于指定要执行的ASP文件的位置,可以是绝对路径,也可是相对路径。   当调用Execute方法时,停止当
前页面的执行,并将控制转到“文件路径”指定的页面。当该页面执行完后,控制传递到原先的页面,并继续执行Execute后面的语句。  
案例4-10:使用Server. Execute方法,使运行结果如图4-17所示。   【操作步骤】   (1) 打开记事本编辑器
,输入以下代码:   <%@ LANGUAGE="VBSCRIPT" %>         <br> 执行指定的ASP文件         

下面将执行第二个4-10b.asp网页 P>   图4-17  

<% Server. Execute "4-10b.asp" %>

  

这里又回到了原
来页面

        (2) 将该文件保存为“4-10a.asp”。   (3) 打开记事本
编辑器,输入以下代码:   <%   For i=1 To 3    Response. Write("这里是执行4.11b
网页里的内容")&"
"   Next   %>  (4) 将该文件保存为“4-10b.asp”,然后用IE浏览器打开,输入
测试页的地址,按下ENTER键。若PWS或IIS在本地计算机上,则可以输入http://localhost/asp/4-10a.a
sp,得到效果图如图4-17所示。   提示:   (1) 使用Server. Execute方法,可以将一些复杂的应用程序分成很
多小模块,在需要时通过Execute方法来调用。   (2) 在使用Server. Execute方法完毕后,将重新返回原来的页面
。4.4.4 将控制权转移到其他ASP文件   使用Server对象的Transfer方法可以将一个ASP文件中处理的相关信息发
送到另一个ASP文件中,语法格式如下:   Server. Transfer("文件路径")   其中,“文件路径”是一个字符串,
用于指定要执行的ASP文件的位置,可以是绝对路径,也可是相对路径。   调用Transfer方法时将停止当前页面的执行,并把控制权
转到“文件路径”指定的ASP文件。需要注意的是,Server.Transfer方法在执行完后,不再返回原来的页面。  案例4-11
:Server. Transfer方法的使用。   【操作步骤】   (1) 打开记事本编辑器,输入以下代码:   <%@ LAN
GUAGE="VBSCRIPT" %>         登录界面    EAD>        用户名:
  密 &n
bsp;码:
   put Type="Submit" Name="Submit" Value="提交">              (2)
将该文件保存为“4-11a.asp”。   (3) 打开记事本编辑器,输入以下代码:   <%@ LANGUAGE="VBSCRI
PT" %>         显示界面      
  <%   Username=Request. Form("Name")   Userpassword=Request. Fo
rm("Password")   If Username="" Or Userpassword="" Then    Serv
er. Transfer("4.11a.asp")   End If   %>   <%   Response. Write "
用户:"&Request.Form("Name")   Response.Write("
")   Response.Wri
te "密码:"&Request.Form("Password")   %>        (4) 将
该文件保存为“4-11b.asp”,然后用IE浏览器打开,输入测试页的地址,按下ENTER键。若PWS或IIS在本地计算机上,则可
以输入http://localhost/asp/4-11a.asp,输入用户名和密码后效果图如图4-18所示,单击“确定”按钮后效
果图如图4-19所示。若输入用户名和密码为空,则停留在“4-11a.asp”页面上。  图4-18  图4-19  思考:   (
1) ?Server对象的Transfer方法和Execute方法有什么区别?   (2) ?Server对象的Transfer方
法和Response对象的Redirect方法有什么区别?     1. 填空题   (1) 方法是Ser
ver对象中最为重要的方法。它用于创建服务器组件的实例,通过使用服务器组件实例,可以扩展ASP的功能。   (2) 使用Serve
r对象的 方法可以调用一个ASP文件并对其进行处理。   (3) 使用Server对象的 方法可以
将一个ASP文件中处理的相关信息发送到另一个ASP文件中。作 业  2. 上机实训   编写一个1+2+3+…+100的程序
模块,使用Execute方法来调用该程序模块,显示如图4-20所示的效果图。  图4-20     使用Session对象可
以保存当前正在与服务器进行“会话”的数据。只要“会话”不结束,保存在Session对象中的数据将一直存在。   本节将学习Sess
ion对象的语法,并掌握如何使用Session对象来保存用户的会话信息。4.5 使用Session对象4.5.1 Sessio
n对象概述   使用Session对象可以保存特定用户会话所需的信息。在用户整个会话过程中,保存在Session对象中的变量不会丢
失。因此,可以使用Session对象来定义全局变量,用于用户在会话中的所有页面共享信息。其语法格式如下:   Session("属
性")=值4.5.2 Session对象的属性   Session对象常用的属性有SessionID属性和TimeOut属性。
  1. SessionID属性   SessionID属性用于返回用户的会话标记。在创建会话时,服务器会为每一个会话创建一个单独
的标记。会话标记以长整型数据类型返回。在很多情况下,SessionID可以用于Web页面注册统计。它的语法格式如下:   Sess
ion. SessionID   2.? TimeOut属性   TimeOut属性用来设置Session对象的最大时间间隔(以
分为单位)。如果用户在该时间间隔内不刷新或请求网页,该会话将终止。语法格式如下:   Session. TimeOut=值   默
认情况下的时间间隔为20分钟。如果超过该时间间隔,用户发出新的请求,服务器将该用户视为一个新的用户,将创建一个新的会话,原有的会话
信息将丢失。4.5.3 Session对象的方法   Session对象常见的方法是Session. Abandon方法。Aba
ndon方法用来清除Session对象,并释放其所占的资源。语法格式如下:   Session. Abandon   如果没有明确
调用Session. Abandon方法,一旦会话结束,服务器也会删除这些对象并释放所占的资源。4.5.4 Session对象的
事件   Session对象有两个事件:OnStart事件和OnEnd事件。通过对这两个事件过程进行编程可以在会话开始和结束时执行
指定的操作。编写这些事件过程,必须使用SCRIPT标记并将RUNAT属性设置为Server,而不能用ASP标记<%和%>,并且这些
事件必须包含在一个名为global.asa的文件中,该文件必须存在应用程序的根目录。  1.? Session_OnStart事件
  Session_OnStart事件是在服务器创建新会话时触发的。服务器在执行请求之前先执行该脚本。它的语法格式如下:   <
SCRIPT LANGUAGE="VBSCRIPT"RUNAT="Server">   Sub Session_OnStart  
 ''会话开始时执行   End Sub     2.? Session_OnEnd事件   当调用Session
. Abandon方法或者在TimeOut的时间内没有刷新,就会触发Session_OnEnd事件,然后执行里面的脚本。它的语法格
式如下:     案例4-12:编写一个ASP页面,用于显示每个用户的
会话标记和页面被刷新的次数。   【操作步骤】   (1) 打开记事本编辑器,输入以下代码:   <%@ LANGUAGE="VB
SCRIPT" %>         Session会话    >     <%   Response. Write "该页面的会话标记为:"&Session.SessionID&"

"   If Session("i")=0 then    Session("i")=1   Else    S
ession("i")=Session("i")+1   End if  Response.Write "该页面被访问了"&Se
ssion("i")&"次"   %>        (2) 将该文件保存为“4-12.asp”,然后
用IE浏览器打开,?输入测试页的地址,?按下ENTER键。若PWS或IIS在本地计算机上,则可以输入http://localhos
t/asp/4-12.asp,运行效果图如图4-21所示。  图4-21     1. 填空题   (1) 在ASP中,可以使
用 来定义全局变量,用于用户在会话中的所有页面共享信息。   (2) 属性用于返回用户的会话
标记。   (3) 属性用来设置Session对象的最大时间间隔。默认情况下的时间间隔为 。
  (4) 用来清除Session对象,并释放其所占的资源。作 业  2. 上机实训   编写两个AS
P页面“4-12a.asp”和“4-12b.asp”,在“4-12a.asp”中使用Session对象定义两个全局变量并赋值,在“
4-12b.asp”中将它们显示出来,如图4-22所示。  图4-22     使用Application对象可以在指定的应
用程序的所有用户之间共享信息,并且这些共享数据在Web应用程序运行期间持久地存在。4.6 使用Application对象4.6.
1 Application对象概述   Application对象是一个应用程序级的对象,用来在所有用户间共享信息,并可以在We
b应用程序运行期间持久地保持数据。如果在同一时刻不加以限制,所有用户都可以访问这个对象。   Web应用程序是驻留在Web站点的特
定的一组文件。一个Web应用程序的根目录由IIS的Internet信息服务来设置,虚拟目录上的每个文件和目录都属于该Web应用程序
。一个Web站点可以创建多个应用程序。4.6.2 Application对象的属性   Application对象没有内置的属性
,但它可以通过以下语法定义用户所需的属性:   Application("属性")=值4.6.3 Application对象的方
法   Application对象有两个方法:Lock方法和Unlock方法。它们都是用于处理多个用户对保存在Applicatio
n中的数据进行读写的问题。   1.? Application.Lock方法   使用Lock方法可以阻止其他用户修改保存在App
lication对象中的变量,以保证在同一时刻仅有一个用户可以修改和存取Application对象中的变量。它的语法格式如下:  
 Application.Lock  2. ?Application.Unlock方法   使用Unlock方法可以使其他用户修改
保存在该对象中的变量。其语法格式如下:   Application.Unlock4.6.4 Application对象的事件  
 Application对象有两个事件:OnStart事件和OnEnd事件。如果希望在启动和退出应用程序时执行指定的操作,可以在g
lobal.asa文件中编写这两个事件的脚本。  1.? Application_OnStart事件   Application_
OnStart事件在首次创建新的会话(即Session_OnStart事件)之前发生,它的语法格式如下:     2.? Application_OnEnd事件   Application
_OnEnd事件当应用程序退出时发生,它的语法格式如下:   
  3. ?global.asa文件   在Web应用程序中,global.asa文件是一个可选文件,其文件扩展名asa实际上是a
ctive server page的缩写。在该文件中,用户可以指定事件脚本,并声明具有会话和应用程序作用域的对象。该文件的内容不是
用来给用户显示的,而是用来保存事件信息和应用程序全局使用的对象。每一个应用程序只能有一个global.asa文件,而且必须保存在应
用程序的根目录中。  global.asa文件只能包含以下内容:   (1) 应用程序事件过程Application_OnStar
t和Application_OnEnd的脚本。   (2) 会话事件过程Session_OnStart和Session_OnEnd
的脚本。   (3) 使用OBJECT标记声明的应用程序作用域对象或会话作用域对象。  下面是一个完整的global.asa文件的
结构:          ID="字符串"PROID="字符串">…  案例4-13:使用Application对象制作一个记录页面访问次数的程序。   【操作步骤】   (1) 打开记事本编辑器,输入以下代码:   <%@ LANGUAGE="VBSCRIPT" %>         统计访问次数        <%   Application.Lock   Application("VisitedTimes")=Application("VisitedTimes")+1   Application.Unlock   Response.Write "欢迎光临,你是本网页的第"&Application("VisitedTimes")&"个访客。"   %>        (2) 将该文件保存为“4-13.asp”,然后用IE浏览器打开,?输入测试页的地址,?按下ENTER键。若PWS或IIS在本地计算机上,则可以输入http://localhost/asp/4-13.asp,运行效果图如图4-23所示。  图4-23      1. 填空题   (1) 对象是一个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。   (2) ?Application对象有两个事件: 和 ,并且保存在 文件中。   (3) ?Application对象有两个方法: 和 。它们都是用于处理多个用户对保存在Application中的数据进行读写的问题。作 业  2. 上机实训   (1) 使用Application对象编写一个ASP文件,用于显示当前网页的访问次数。   (2) 使用global.asa文件编写应用程序时间和会话时间,统计网站被不同用户访问的次数。     ASP是一个服务器端脚本编写环境,用于创建动态的交互式Web服务器应用程序。ASP使用分隔符<%和%>来包含脚本命令。   ASP提供了一些内置对象,如Response 对象、Request对象、Server对象、Session对象、Application对象。   使用Response对象可以将输出发送到客户端,重定向网址,并可以设置Cookie信息等。 本 章 小 结  使用Request对象可以访问任何用Http请求传递的信息,包括从Html表格用Post方法或Get方法传递的参数、Cookie和用户认证。Request 对象使您能够访问发送给服务器的二进制数据,如上载的文件。   使用Server 对象提供对服务器上的方法和属性进行的访问。最常用的方法是创建 AcTivex组件的实例。其他方法用于将URL或Html编码成字符串,将虚拟路径映射到物理路径以及设置脚本的超时期限。   Session 对象用来储存一个会话内的信息。  使用 Application 对象使给定应用程序的所有用户共享信息。   在Web应用程序中,global.asa文件是一个可选文件,其文件扩展名asa实际上是active server page的缩写。在该文件中,用户可以指定事件脚本,并声明具有会话和应用程序作用域的对象。该文件的内容不是用来给用户显示的,而是用来保存事件信息和应用程序全局使用的对象。每一个应用程序只能有一个global.asa文件,而且必须保存在应用程序的根目录中。
献花(0)
+1
(本文系大高老师首藏)