480 likes | 613 Views
第 10 课 ASP 的内置组件. 10.1 课前导读 10.2 课堂教学 10.3 上机练习 10.4 课后作业. 10.1 课前导读 ASP 的内置组件指安装 ASP 时自动注册到 ASP Web 服务器上的组件。主要包括表 10-1 中的组件。 表 10-1 ASP 的内置组件.
E N D
第10课 ASP的内置组件 10.1 课前导读 10.2 课堂教学 10.3 上机练习 10.4 课后作业
10.1 课前导读 ASP的内置组件指安装ASP时自动注册到ASP Web服务器上的组件。主要包括表10-1中的组件。 表10-1 ASP的内置组件
使用ASP内置组件必须先使用Server内置对象的CreateObject方法创建该组件的一个实例(变量),或在GlobaLasa文件中使用<Object>标记创建该组件的一个实例(变量),然后就可以把它当ASP内置对象来处理,引用该组件的属性、方法、集合来实现组件提供的功能。使用ASP内置组件必须先使用Server内置对象的CreateObject方法创建该组件的一个实例(变量),或在GlobaLasa文件中使用<Object>标记创建该组件的一个实例(变量),然后就可以把它当ASP内置对象来处理,引用该组件的属性、方法、集合来实现组件提供的功能。
10.2 课堂教学 10.2.1 广告轮显组件 10.2.2 内容轮显组件 10.2.3 文件访问组件 10.2.4 网页计数器组件
10.2.1 广告轮显组件 1. 创建广告轮显组件的实例对象 2. AdRotator对象的属性和方法 3. 使用广告轮显组件
10.2.1 广告轮显组件 • 使用广告轮显(AdRotator)组件可以在网页上轮换显示广告。AdRotator组件在每次用户加载或刷新网页时为网页选择一个广告。另外,如果需要更改广告,则只需要在重定向和轮换计划文件中更改此广告即可,而不必修改包含此广告的所有ASP文件。如果此广告出现在网站中的许多网页上,这样就可以节省开发时间。 • 1. 创建广告轮显组件的实例对象 • 使用Ad Rotator组件首先要创建一个AdRotator组件的实例——AdRotator对象: • Set 实例对象名= • Server.CreateObject("MSWC.AdRotator")
2. AdRotator对象的属性和方法 AdRotator对象有三个属性Border,TargetFrame,Chickable。它们分别指定图片的边框大小,是否提供超连接,还有连接的目标框。各属性说明见表10-2。 表10-2 AdRotator对象各属性的说明 • AdRotator对象的方法只有一个,其格式为: • GetAdvertisement(RotatorschedulePath) • 说明:GetAdvertisement方法用来读取广告安排文件所设定的广告图标信息。
3. 使用广告轮显组件 使用广告轮显组件就是使用AdRotator对象。使用AdRotator对象需要两个文件:重定向文件(包含指向广告的URL链接)以及轮换计划文件(包含显示数据)。通过建立这两个文件,网站上的任何ASP网页都可使用AdRotator对象。 使用广告轮显组件的步骤如下:
(1) 创建一个AdRotator轮换计划文件 轮换计划文件用于为要显示的广告编录信息,这些信息包括单击广告后的重定向信息、要显示的广告的大小、要显示的图象、广告的注释,以及表明特定广告被选中的频率的数字。在ASP网页中调用AdRotator组件的方法时,组件会使用此文件来选择要显示的广告。 轮换计划文件用星号(*)分成两节。第一节提供了所有广告的公共信息,第二节则列出了每个广告的特定数据。若要测试轮换计划文件,可以使用Microsoft.com上的一些图像作为广告图像。表10-3概述了轮换计划文件的结构。
(2) 创建一个AdRotator重定向文件 用户单击广告时,用ASP编写的AdRotator重定向文件可以在显示广告之前,捕获某些信息,并将这些信息写入一个文件。 该文件首先读取用户单击广告时的信息:URL=Request("URL"),然后将网页导向广告指向的网页:Response.Redirect URL。
(3) 创建一个调用AdRotator组件的ASP网页来显示和轮换广告 • 调用AdRotator组件首先要创建一个AdRotator对象: • Set objLoad = Server.CreateObject("MSWC.AdRotator") • 如果网页使用框架,则应设置TargetFrame属性,以便将在这个框架中打开URL。 • objLoad.TargetFrame="TARGET=new" • 然后可以设置其他的AdRotator属性: • objLoad.Border=1 • 最后调用GetAdvertisement方法从文本文件获取随机广告。
【例10-1】设计随机广告播放器。 • 准备3个充作广告的图片文件:MARU1.GIF、MARU2.GIF、MARU3.GIF。然后依次编写如下文件: • ① 轮换计划文件ss.txt,其中代码为: • Redirect ar.asp • width 113 • height 113 • border 1 • * • MARU1.GIF • ../../第2章例题/2_1.htm ' 使用相对路径调用网页文件2_1.htm • 第2章例题2_1 • 30 • MARU2.GIF • ../../第2章例题/2_2.htm • 第2章例题2_2 • 30 • MARU3.GIF • ../../第2章例题/2_3.htm • 第2章例题2_3 • 30
② 重定向文件ar.asp,其代码如下: • <% • URL=Request("URL") • Response.Redirect URL • %> • ③ 显示和轮换广告的网页文件ShowAd.asp,其代码如下: • <HTML> • <HEAD> • <TITLE> 广告轮显 </TITLE> • </HEAD> • <BODY> • <H1>广告轮显</H1> • <% • set objad = server.CreateObject("MSWC.AdRotator") • Response.Write objad.GetAdvertisement("ss.txt") • Set objad = Nothing • %> • </BODY> • </HTML> • 在浏览器中运行网页文件ShowAd.asp,单击广告图片,将指向所连接的第2章例题,如图所示。
10.2.2 内容轮显组件 1. 创建内容轮显组件的实例对象 2. 内容安排文件 3. Content Rotator对象的方法 4. 使用内容轮显组件
10.2.2 内容轮显组件 内容轮显(Content Rotator)组件和Ad Rotator组件十分类似,只是进行随机变换的是页面内容而不仅仅是一个图标,该组件可以用于: ① 每日新闻:可以随机显示今日有关网站的不同方面的新信息,例如访问者情况,新闻组信息,访问用户的信息交换。 ② 随机连接:随机指向并显示你的各个网站内容。 ③ 广告显示:这里面提请注意的是显然你可以制作比Ad Rotator对象所提供的循环广告更加复杂的广告显示系统。
1. 创建内容轮显组件的实例对象 • 使用Content Rotator组件首先要创建一个Content Rotator组件的实例——Content Rotator对象: • Set 实例对象名 • =Server.CreateObject("MSWC.ContentRotator") • 2. 内容安排文件 • 使用Content Rotator组件需要一个内容安排文件:将所有欲显示的网页内容都包含在内,这个文件是一般的文本文件,可以利用任何通用的文本编辑器处理,可以存储为任何名称和后缀。
文件的格式如下: • %%[#n[//注释] • 显示内容 • 说明: • ① 整个文件由多个条目组成,每个条目由以上两部分组成。 • ② 其中n表示显示频率的权重,权重越高,显示频率越大。其默认值为1。 • ③ 注释内容是可选的。 • ④ 显示内容是任何网页内容。
3. Content Rotator对象的方法 Content Rotator对象没有属性,只有两个方法。 ① ChooseContent()方法:读取内容安排文件的一个条目并显示在浏览器窗口。其语法格式: ChooseContent(〈内容安排文件〉) ② GetAllContent()方法:读取内容安排文件的所有条目,每个条目后加<HR>换行标记,然后显示在浏览器窗口。其语法格式: GetAllContent(〈内容安排文件〉) 说明:两个方法中的〈内容安排文件〉都表示内容安排文件的相对路径或虚拟路径。
4. 使用内容轮显组件 下面以具体实例说明内容轮显组件的使用。 【例10-2】设计随机文本播放器。 建立一个具有上下两个框架窗口的框架网页(main.htm),上部框架为随机文本播放器,用来显示内容安排文件设定的网页信息,对应文件为top.asp:下部框架用来显示个人主页,对应文件为Home.asp。
① 框架网页main.htm的代码如下: • <HTML> • <HEAD><TITLE>我的主页</TITLE></HEAD> • <frameset rows="120,*"> • <FRAME SRC="top.asp" name=top> • <FRAME SRC="home.asp" name=bottom> • </FRAMESET> • </HTML> • ② 随机文本播放器文件top.asp的代码如下: • <HTML> • <HEAD></HEAD> • <BODY> • <% • Set MyContent=Server.createObject("MSWC.ContentRotator") • Response.Write MyContent.ChooseContent("ss.txt") • Set MyContent=nothing • %> • </BODY> • </HTML>
③ 内容安排文件ss.txt的内容如下: • %%#2 //这是第一个记录 • <Font Color=Red>欢迎访问我们的讨论组</Font> • %%#3 //这是第二个记录 • <B>不要忘了把我们站点放入书签</B> • %%#5 //这是第三个记录 • 请从我们的下载区下载共享软件 • <UL> • <Li>ActiveX组件 • <Li>连接检查 • </UL> • 说明:该文件中有三个记录,首先用两个百分号%进行分隔确认,说明这是一个记录的开始,然后在井号#后面是给定的权重,例子中的权重分别是2,3,5,那么显示概率就分别为2/10、3/10、5/10,这里面权重值为0到65535的整数,如果设置为0,就不可能显示,显示概率是该权重除以所有权重之和。
④ 简化的主页文件Home.asp代码如下: • <HTML> • <HEAD><TITLE>我的主页</TITLE></HEAD> • <BODY> • <H1>我的主页</H1> • 内容轮显组件的使用 • </BODY> • </HTML> 图10-2 随机文本播放器
10.2.3 文件访问组件 1. 创建文件访问组件的实例 ——FileSystemObject对象 2. 文件系统对象模型 3. 管理文件夹 4. 管理文件 5. 读、写文件
10.2.3 文件访问组件 使用文件访问(File Access)组件是为了在服务器端对文件和文件夹进行存取访问。 1. 创建文件访问组件的实例——FileSystemObject对象 要使用文件访问组件,首先必须创建文件访问组件的实例:FileSystemObject对象。FileSystemObject对象是VBScript的对象,其创建命令语法如下: Set 实例对象名= Server.CreateObject("Scripting.FileSystemObject") 使用文件访问组件就是使用文件系统对象:FileSystemObject对象。
2. 文件系统对象模型 FileSystemObject对象模型包括若干对象,可以用于创建、改编、移动和删除文件夹或文件,还可以用于获取文件夹或文件的各种信息。FileSystemObject对象模型所包含的对象见表10-4。 表10-4 FileSystemObject对象模型中的对象
说明:FileSystemObject对象提供了一整套用于创建、删除、收集相关信息、以及通常的操作驱动器、文件夹和文件的方法,为简单起见本教程只介绍使用FileSystemObject对象管理文件夹、文件,使用TextStream对象读写文件。说明:FileSystemObject对象提供了一整套用于创建、删除、收集相关信息、以及通常的操作驱动器、文件夹和文件的方法,为简单起见本教程只介绍使用FileSystemObject对象管理文件夹、文件,使用TextStream对象读写文件。 (1) FileSystemObject对象的方法 FileSystemObject对象可以用来存取Web服务器上的文件与文件夹。其方法的语法及说明见表10-5。
(2) Folder对象的属性和方法 使用FileSystemObject对象的CreateFolder方法可以创建并返回一个新Folder对象,使用FileSystemObject对象的GetFolder则可以返回一个已经存在的Folder对象。Folder对象的属性见表10-6。 表10-6 Folder对象的属性
Folder对象的方法见表10-7。 表10-7 Folder对象的方法
(3) File对象的属性和方法 使用FileSystemObject对象的GetFile可以返回一个已经存在的File对象。File对象的属性见表10-8。 表10-8 File对象的属性
File对象的方法见表10-9。 表10-9 File对象的方法
(4) TextStream对象的属性和方法 使用FileSystemObject对象的CreateTextFile方法可以创建并返回一个新的代表文件的TextStream对象,使用FileSystemObject对象的OpenTextFile方法则可以返回一个已经存在的代表文件的TextStream对象。TextStream对象的属性见表10-10。 表10-10 TextStream对象的属性
TextStream对象的方法见表10-11。 表10-11 TextStream对象的方法
3. 管理文件夹 • FileSystemObject对象管理文件夹的方法有:建立(CreateFolder)、移动或重命名(MoveFolder)、删除(DeleteFolder)和复制(CopyFolder)。 • 【例10-3】在Web服务器中浏览目录与子目录。 • 程序代码,运行结果。
说明: ① Request("af")为表单提交的文件夹路径; Session("af")存放的是由Request("af")转换的文件夹对象。 ② 网页中包括两个列表框:文件夹列表框和文件列表框,分别显示当前目录中的所有子目录和文件名称。 ③ 代码中省去了“表单提交”控件,而在文件夹列表框的“单击”事件过程代码中,激发表单的“提交”事件。 ④ 在浏览器中运行代码,结果如图10-3所示。
4. 管理文件 FileSystemObject对象管理文件的方法有:建立(CreateFolder)、移动或重命名(MoveFolder)、删除(DeleteFolder)和复制(CopyFolder)。 【例10-4】在Web服务器中浏览、复制和删除文件。程序代码,运行结果。 说明:代码中使用了两个Hidden控件,分别用于存放“复制文件”和“删除文件”的信息。
5. 读、写文件 TextStream对象对应于一个文本文件的内容,要对文件进行读、写操作,必须使用TextStream对象。TextStream对象可以用FileSystemObject对象的OpenTextFile方法或CreateTextFile方法得到;可以用Folder对象的CreateTextFile方法得到;还可以用File对象的OpenAsTextStream方法得到。其中的OpenTextFile方法和CreateTextFile方法还同时具有创建文本文件的功能。 创建一个TextStream对象相当于打开一个文本文件,对文本文件进行读、写操作则需要使用TextStream对象的方法,当然这还依赖于文件的打开方式。
【例10-5】在Web服务器中浏览、显示和修改文件。 当用鼠标单击左边列表中的文件夹时,当前目录将转向该文件夹;当用鼠标单击左边列表中的文件时,右边的多行文本框中将显示文件的内容。 程序代码,运行结果。 说明: ① 代码中使用了1个Hidden控件,用于存放修改文件的确定信息。 ② 由于表单的提交内容比较多,采用提交方式为:method=post。
10.2.4 网页计数器组件 1. 创建网页计数器组件的实例对象 2. Page Counter对象的方法 3. 使用PageCounter对象
10.2.4 网页计数器组件 网页计数器(Page Counter)组件用于统计每个网页被访问的次数,该组件定期把统计的数据存入服务器磁盘上的一个文本文件——访问次数统计数据文件中,所以在停机或出现错误信息,当前数据也不会丢失。 • 1. 创建网页计数器组件的实例对象 • 使用Page Counter组件首先要创建一个Page Counter组件的实例——Page Counter对象: • Set 实例对象名= • Server.CreateObject("MSWC.PageCounter ")
2. Page Counter对象的方法 Page Counter对象提供了向“访问次数统计数据文件”增加访问次数的方法以及读取和重新设置访问计数总和的方法,见表10-12。 表10-12 Page Counter对象的方法
3. 使用PageCounter对象 下面例子说明PageCounter组件的使用,先用Server.CreateObject方法创建对象实例,然后调用Hits方法得到对当前网页的访问次数。 【例10-6】“网页计数器”。每点击一次“点击网页”按钮或单击浏览器上的“刷新”按钮都将增加对当前网页的访问次数。如果选中“重置网页计数器”复选框,则把计数器重新设置为0,如图10-6所示。
代码如下: • <% • Set MyPageCounter=Server.CreateObject("MSWC.PageCounter") ' 创建对象实例 • MyPageCounter.PageHit ' 增加此网页的计数器值 • If Request("reset")="on" Then ' 是否提交重置信息 • MyPageCounter.Reset() ' 重置此网页的计数器 • End If • %> • <html> • <head><title>网页计数器示例</title></head> • <body><H3>网页计数器示例</H3><p> • 此网页的点击数为<%=MyPageCounter.Hits%><BR> • <FORM NAME="PageCounter" METHOD="GET" • ACTION="PageCounter.asp"> • <INPUT TYPE="SUBMIT" VALUE="点击网页"><P><P> • <INPUT TYPE="CHECKBOX" NAME="reset">重置网页计数器 • </FORM> • </body> • </html> • 说明:选中复选框控件,服务器端将得到提交值:“on”。
10.3 上机练习 【练习10-1】设计可以浏览、显示文件属性的网页程序,如图10-7所示 图10-7 浏览、显示文件属性 程序代码,运行结果。 说明:代码中使用了1个Hidden控件,用于存放和返回列表框中选定项的序号。