asp与sql网页数据库程序设计09.docx
《asp与sql网页数据库程序设计09.docx》由会员分享,可在线阅读,更多相关《asp与sql网页数据库程序设计09.docx(37页珍藏版)》请在冰豆网上搜索。
![asp与sql网页数据库程序设计09.docx](https://file1.bdocx.com/fileroot1/2022-11/22/ed32d907-62ce-4f6f-8315-a0b73826d613/ed32d907-62ce-4f6f-8315-a0b73826d6131.gif)
asp与sql网页数据库程序设计09
9
Response,Request对象的基础与应用
9-1 Response对象的基础与应用
9-2 Request对象的基础与应用
9-3 Session对象的基础与应用
9-4 Application对象的基础与应用
9-5 Global.asa对象的基础与应用
ActiveServerPage属于面向对象程序语言(ObjectOrientedLanguage)的一种,它提供了五个重要内建对象供程序设计人员使用。
当程序设计人员在使用对象时,无需了解各对象内部复杂的传递及运算过程,这也是面向对象程序设计的好处之一。
以下是这五种ASP对象的名称与简述对照表。
表9-1ASP对象的名称与简述
对 象 名 称
功 能 简 述
Response
用来传输信息到客户端流览器
Request
可用来读取客户端流览器的信息
Server
提供一些WebServer端的相关信息
Session
用来存储不同用户的信息
Application
用来存储所有用户共享的信息
9-1Response对象
ASP程序中的Response对象,主要功能是将ASP程序执行的结果输出到浏览器。
对于Response对象而言,Write,End和Redirect三种方法大约占了80%的应用,其他方法和属性的使用率并不会超过整体应用的20%。
以下是Response对象的语法以及“集合”、“属性”、“方法”的详细说明:
Response对象的语法:
Response.collection|property|method
1.集合(Collection)
在Response对象中属于集合的只有“Cookies”一种。
对于Cookies而言,有一点是非常重要的,Cookies的写入只有在任何数据输出到浏览器之前才能发挥它的作用。
同样,Cookies也有其专用的属性,如表9-2所示。
表9-2Cookies属性说明
属性
说 明
Expires
指定Cookies存放在客户端浏览器的有效期限,格式为“yyyy/mm/dd”
Domain
指定只有在进入该网时,Cookies的值才有效
续表
属性
说 明
Path
指定浏览器的网页必须在指定的路径下,该Cookies才允许被读取
2.属性(Properties)
在Response对象中共有四个属性,以下是这些属性的内容。
表9-3Response对象的属性说明
属性
说明
Buffer
当Buffer被设置为true时(通常是在.ASP文件的最前面完成的),整个网页会在结果送回客户端之前处理完毕。
换句话说,所有在网页里面的脚本在处理完毕之后,才会将结果送回客户端浏览器上显示。
当设为false时,则编译即发送
ContentType
指定即将开始被送至客户端浏览器的信息种类,默认值是text/HTML。
举例来说,如果它被设为text/gif,那么送出去的文件数据将会被解释成gif格式的图形文件
Expires
用来决定暂存在客户端的网页其时间的长短,并且Expires变量将会检查它是否已经被更新过,Expires数字以秒为单位。
“0”表示该网页被设置为不会暂存在客户端浏览器中,另一种的替代方法是使用ExpiresAbsolute属性来指定该网页精确的到期日以及时间
Status
一个用来显示状态的三位数字。
这些状态码都已经被定义在HTTP规格之中
3.方法(Methods)
在Response对象中共有八种方法。
使用这些方法可以为用户提供更便于创建网页的方法。
表9-4Response对象的方法说明
方法
说明
AddHeader
AddHeader会在网页中加入HTML的标头以及一个数值,必须在任何网页标记被送出之前使用AddHEader
续表
方法
说明
AppendToLog
在一次请求中,对主机端的记录文件附加一段最多80个字符的字符串至记录文件中,在使用这项变量中,不能在字符串中使用逗号
BinaryWrite
将信息以二进制的形式送到HTTP输出通道。
如果用户有一个自行开发的应用程序必须在客户端执行,并且该程序是利用HTTP通道与服务器作通信用时,使用这个方法相当有用
Clear
使用这个方法会将当前在HTML缓冲区里的Response的信息内容全部清除,但是它不会清除HTML的标头部分,通常是在错误状态下使用这个方法
End
立即停止当前正在处理的.ASP文件,并且将会返回当前缓冲区里的所有信息,如果用户不想返回任何信息,请先使用Clear,再使用End这个方法
Flush
立即将当前缓冲区里所有信息送至客户端
Redirect
将客户端浏览器的网页立即引至新的网页/程序上
Write
以HTML的形式将信息写入到当前网页,一般来说,用户能够将用户的HTML写在<%及%>符号之外,或是使用<%=变量%>来作同样的事情,不过Write方法特别适用于子程序或函数的内部
9-1-1 Write方法的基础与应用
首先,笔者先介绍有关Response.Write方法。
Response.Write方法可以在ASP程序的执行过程中,将任何数据类型输出到浏览器上显示。
换句话说,输出的内容可以是字符串、HTML标记或变量,而且无论变量的内容是什么,都是以字符串的形式输出到浏览器上,如下所示:
'输出变量的内容
Strings=“ActiveServerPages与SQL2000的应用”
Response.Write(Strings&"
")
'直接输出字符串
Response.Write("ActiveServerPages与SQL2000的应用
")
上述程序以变量或是字符串的方式将结果输出到浏览器上,其输出的字符串内含HTML标记。
此外Response.Write方法还有另外一种方法,如下所示:
<%=Strings%>
上述“<%=”、“%>”符号间就是输出Strings变量的内容,这属于Response.Write方法另一种程序编写方式。
程序范例:
Ch9-1.asp
在ASP程序中,使用三种Response.Write方法,将文字输出到浏览器上,并且显示输出的内容,如图9-1所示。
图9-1“Ex09-1.asp”范例程序的执行结果
上述图例虽然输出的字符串相同,但是第一行为输出变量值,第二行直接输出字符串和标记,最后则使用“<%=”和“%>”符号输出变量内容。
程序内容
01:
--范例程序:
EX09-1.asp-->
02:
03:
04:
05:
EX09-1.ASP06:
07:
08:
<%
09:
DimStrings
10:
Strings="ActiveServerPages与SQL2000的应用"
11:
'输出变量
12:
Response.Write(Strings&"
")
13:
'直接输出字符串
14:
Response.Write("ActiveServerPages与SQL2000的应用
")
15:
%>
16:
<%=Strings%>
17:
18:
程序说明
第9行:
定义变量Strings。
第10行:
设置字符串变量Strings的内容。
第12行:
使用Response.Write方法输出变量的内容,并且使用字符串连接运算符结合HTML标记。
第14行:
使用Response.Write方法直接输出字符串及HTML标记。
第16行:
使用“<%=”、“%>”符号输出字符串变量Strings。
9-1-2 Redirect方法的基础与应用
Response.Redirect方法可以在执行ASP程序时,直接将网页重定向到其他的网址或网站,其他网页或ASP程序。
使用这个方法会将当前的URL转到其他的网页,因此在执行此方法后,相关的命令或是HTML标记将不会显示,如下所示:
Response.Redirect("EX09-1.asp")
当ASP程序执行到上述程序时,会放弃此行后面所接的相关程序,并且转而执行网站上相应目录下的“EX09-1.asp”。
同时对于Response.Redirect的参数而言,允许使用完整的URL网址或同一个网站相对路径,并且也可以是HTML文件,如下所示:
Response.Redirect("../EX10/EX10-1.asp")
Response.Redirect("")
上述两行程序代码中,第一行所指的是转到相同网站上的EX10子目录下,并且执行该子目录下的EX10-1.asp程序,第二行则是将当前网页直接转到其他网站的首页。
程序范例:
EX09-2.asp
在地址栏输入“http:
//localhost/ex09/EX09-2.asp”,如图9-2所示。
图9-2在地址栏输入“http:
//localhost/ex09/09-2.asp”
当用户按下Enter键之后,用户可以看到网页内容已经改为EX09-3.asp,并非是EX09-2.asp的内容,如图9-3所示。
图9-3直接由ex09-2.asp跳到09-3.asp的画面
由上面的演示,即可发现Response.Redirect方法在实际应用上的作用。
程序内容
01:
<%
02:
Response.Buffer=True
03:
%>
04:
--EX09-2.asp转到其他的网页或ASP程序-->
05:
06:
07:
08:
EX09-2.asp转到其他的网页或ASP程序09:
10:
11:
<%Response.Redirect"EX09-3.asp"%>
12:
13:
程序说明:
第2行:
如果网站是PWS或IIS4,用户就必须加上缓冲区的设置。
有关详细缓冲区的详细信息,将在后面章节中详细说明。
第11行:
直接将执行后的网页重定向到EX09-3.asp。
程序内容:
01:
--EX09-3.aspResponse.Redirect网页转向范例-->
02:
<%
03:
Response.Buffer=True
04:
%>
05:
06:
07:
08:
EX09-3.aspResponse.Redirect网页转向范例09:
10:
11:
12:
Response.Redirect转向范例
13:
14:
15:
16:
这是ASP对象中的Response.Redirect方法的范例
17:
用途是将当前的网页内容转到其他的网页或ASP程序
18:
19:
20: