第四章asp书稿.doc
《第四章asp书稿.doc》由会员分享,可在线阅读,更多相关《第四章asp书稿.doc(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、对象篇第四章 常用ASP对象Response和Request要点概述1ASP的语法介绍ASP支持许多不同的程序语言(VBScript、JavaScript、PerScript),其中以VBScript对ASP的支持最为完整,使VBScript成为ASP默认的程序语言。所以,对于网页设计的初学者,使用VBScript来撰写ASP程序是较好的选择。在ASP程序代码中,VBScript将被视为特殊的HTML标记。因为,只要在之间的文字语句,都被视为以VBScript编写的ASP程序代码。例如:或者都是ASP的程序代码。2ASP常用内置对象ASP提供了许多内置的对象,这些对象的特殊性在于它们不须定义,
2、就可以在ASP页内直接使用。这里将介绍ASP最常用的5个对象,如表4-1所示。表4-1ASP对象用 途Request在服务器端ASP程序中取得客户端传送过来的信息。Response在服务器端ASP程序中传送信息给客户端。Server使用服务器端相关的功能与信息。Session用来记录客户端个别的信息。Application用来记录所有客户端共有的信息。3Response对象的方法和属性Response的直译是“响应”,所谓响应,对ASP程序来说,就是把数据传送给客户端的浏览器。在本书前面的章节,我们已经使用过Response对象的Write方法(Response.Write)输出数据到浏览器,
3、例如:Response.Write 看到这个测试网页,就说明您的ASP系统已能正常工作了!。ASP的Response对象提供的常用方法和属性见表4-2。表4-2方法或属性用 途Write方法输出数据到浏览器。Redirect方法改变浏览的网页。End方法结束数据的输出。Buffer属性是否设置缓冲区。Clear方法清除缓冲区内的数据。Flush方法输出缓冲区内的数据。IsClientConnected属性浏览器是否还在联机(网)中。4Request对象的集合Request是与Response相对应的对象,其用途是读取浏览器的数据。对于Request对象,使用最多、功能最强大的是它的集合,表4-
4、3即为Request对象提供的5个集合。表4-3集 合用 途Form用来取得客户端表单上传送过来的信息。QueryString用来取得客户端附加在ASP程序网址后的参数信息。ServerVariables用来取得服务器端的环境变量的值。Cookies用来取得客户端存储的Cookies值。ClientCertificate用来取得客户端的身份认证信息。实践指导注意:本章介绍的ASP程序c4_x_x.asp、HTML程序c4_x_x.htm和图片文件均保存到目录C:Inetpubwwwrootaspchap04下,浏览时请在地址栏内输入http:/127.0.0.1/asp/chap04/c4_x
5、_x.asp(或c4_x_x.htm),虚拟目录/asp的创建方法见第一章的介绍。4.1 Response对象1. Response.Write方法【实验1】写一网页c4_1_1.asp传送服务器端的时间和欢迎信息至客户端,并用HTML标记处理网页中的字体和其他属性,如图4-1所示。图4-1【程序】欢迎光临我的网络小屋!现在时间是:【说明】使用Response对象提供的Write方法可以传送数据到浏览器,其语法如下: Response.Write displaydata (1)Response.Write方法传送的数据为自由类型(Variant)。如果传送的是字符串,则必须使用双引号将该字符串
6、包括起来;若字符串中含有双引号,重复双引号一次即可。 如果输出的是一般文字或者HTML标记,编写时可以省略Response.Write。例如: 由于VBScript将双引号内的数据视为字符串来处理,因此如果要使用Response.Write方法来传送HTML标记,必须将上面的语句改成: % Response.Write % 使用Response.Write来传送HTML标记,若只是将HTML标记的头尾用双引号框住,而里面的双引号没有去掉,例如: % Response.Write %则在执行时会发生错误。这是因为VBScript会将两个双引号括起来的部分(灰色的字符)视为字符串来处理,6和fuc
7、hsia未被括起来而发生错误。在内层双引号都重复一个双引号就不会发生错误: % Response.Write %(2)使用单独一行Response.Write方法传送数据至客户端,如果超过1022个字符,将会出现错误。如果要传送超过1022个字符的字符串,可以分成多行Response.Write输出,或者先将字符串存放到变量中,再用Response.Write将变量输出。(3)如果在之间只有一行Response.Write语句,则可以将它简写成,例如下面两个语句的意义是相同的: 【实验2】编写一个ASP程序c4_1_2.asp,使用Response.Write方法,将某学生的语文、数学、英语成
8、绩(假设分别为84、96、89)及教师评语(平均成绩在80分以上,评语“成绩优良,请再接再厉!”;否则评语“别泄气,要继续努力哦”)传送到客户端的浏览器,如图4-2所示。图4-2【程序】=80 Then word=成绩优良,请再接再厉!Else word=别泄气,请继续努力哦!End If%语文成绩:数学成绩:英语成绩:教师评语:【说明】像c4_1_2.asp这样的ASP网页可以说是结构相当不错的动态网页。整个原始文件被分成VBScript程序和HTML标记两部分,其中VBScript程序部分用来产生Chinese、Maths、English、word等变量的值。而HTML标记部分则会利用Re
9、sponse.Write方法将Chinese、Maths、English、word变量的值嵌入到HTML标记中,从而实现浏览器中的显示效果。2. Response.Redirect方法【实验】编写程序c4_1_3.asp,可以根据今天是星期几转移到同一目录下的对应网页(星期日转移到00.htm、星期一转移到01.htm星期六转移到06.htm)。【程序】提示:程序中的DatePart(w,Date()会返回今天是星期几(星期日=1、星期一=2星期六=7)。【说明】Response对象的Redirect方法可以让我们将目前的网页转移到另一个网页,语法如下: Response.Redirect U
10、RL 产生错误(1)Response.Redirect方法必须使用在未输出任何数据到浏览器之前,否则会出现错误。在下面的程序中: 由于在调用Redirect方法前,已经输出、到浏览器,所以Response.Redirect语句会发生错误。出于同样的原因,Response.Redirct方法也必须写在Response.Write方法之前。(2)使用Redirect方法的优点是,可以把内容比较复杂的网页分成几个子网页,甚至可以存放在不同的文档、目录或者Web Server里,然后由主网页来判断当时的情况,以决定跳转到哪个子网页。3Response.End方法【实验】使用Response.End方法
11、编写使用期限为2001/12/31的网页c4_1_4.asp,一般情况下网页中显示“欢迎光临!”;如果上网者在使用期限过后浏览该网页,则显示“对不起,本网页已过使用期限!”;此外,设置网页的开放时间为8:0020:00,若在其他时间访问它,则显示“对不起,本网页的开放时间为8:00至20:00!”。【程序】#2001/12/31# Then Response.Write对不起,本网页已过使用期限! Response.EndEnd IfIf Time#20:00:00# Then Response.Write对不起,本网页的开放时间为8:00至20:00! Response.EndEnd If%
12、Welcome!欢迎光临!【说明】Response.End方法的主要作用是告诉浏览器数据已经下载完毕,另外使用它也可以让IIS/PWS不再解读后面的HTML标记和ASP程序,从而达到终止.asp程序执行的目的。例如,在下面的程序中: % Response.Write大家好! Response.End Response.Write我是小明 %Response.End后面的那个Response.Write语句将不被执行。4输出缓冲区的设置【实验】将使用Response.Write方法输出的数据“大家好!我是小明。”写到缓冲区(buffer),然后使用Response.Flush方法将缓冲区内的数据
13、下载给浏览器。【程序】【说明】(1)调用Response.Write方法可以将要输出的数据下载给浏览器,但我们也可以将Response.Buffer的属性值设置为True,要求IIS/PWS先将要输出的数据写到缓冲区(buffer),然后等到以下几种情况出现时,再将缓冲区内的数据下载给浏览器: IIS/PWS解读完ASP程序时; 过程调用了Response.End方法时; 过程调用了Response.Flush方法时。需要强调的是,将Response.Buffer的属性值设置为True,必须在没有任何数据或者HTML标记输出到浏览器之前进行;所以我们最好像上面程序中所做的那样,将“Respon
14、se.Buffer =True”放在ASP程序的最前面。(2)调用Response.End、Response.Flush方法可以强制将缓冲区内的数据输出,此外,也可以调用Response.Clear方法中途取消(清除)缓冲区内的数据,请看以下例子: 其中,调用Response.Clear方法将缓冲区内的数据“大家好!我是小明。”、“取消缓冲区内的数据”一并清除。4.2 Request对象1. Request.Form集合提示:利用表单(Form)在不同网页之间传递上网者的信息是最可靠的,因为它适用于任何浏览器。当然也可以选择其他的方式,例如QueryString、Java applet、Act
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 asp 书稿
限制150内