2022年ASP教案内置组件.docx
名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀教案ASP 组件的使用一、 ASP 广告轮显组件对于一个网站来说,广告是不行防止的,不但数量多,而且内容变化频繁,假如采纳手工的方式为每个页面关联一个广告,不仅费时费劲, 而且无法实现一些更高的要求;广告轮显组件( Ad Rotator 用于创建一个 AdRotator 对象实例,通过该对象在 Web 页上自动轮换显示广告图象; 当用户每次打开或重新加载 Web 页时,该组件将依据在轮显列表(Rotator Schedule文件(播放次序文件,是一个文本文件)中指定的信息显示一个新广告;使用广告轮显组件的方法如下:1 创建 AdRotator 对象;2 从轮显列表文件中猎取一个广告;3 创建轮显列表文件(循环定时文件)和重定向文件;1、创建广告轮显对象实例使用 Server.CreateObject 方法创建一个广告轮显(Set ad=Server.CreateObject"MSWC.AdTotator" AdRotator 对象实例;语法格式如:这里Set 命令用于和Server.CreateObject 方法联合来创建一个MSWC.AdRotator 对象的引用;广告轮显组件只有一个GetAdvertisement 方法,用于治理和从轮显列表文件中检取信息,例如当用户打开或刷新一页面时,该方法会猎取所支配的下一个广告;GetAdvertisement 方法的语法为:ad.GetAdvertisement"filepath" 注: ad 是一个上面用Server.CreateObject 方法创建的广告实例;filepath 为广告轮显列表文件的虚拟路径.;下面的脚本在用户每次查看 <% Web 页时显示不同的广告;Set ad = Server.CreateObject "MSWC.AdRotator" Response.Write ad.GetAdvertisement"/ads/adrot.txt" %> 2、创建轮显列表文件(循环定时文件)轮显列表文件是一个用于治理显示频率或显示各种广告图像信息的文件;它由两部分组成,第一部分设置应用于轮换支配中全部广告图像的参数;其次部分指定每个广告的文件、位置信息以及每个显示时间所占的百分比;这两部分由包含( * )的行隔开 ;该文件必需在Web 服务器的某个虚拟路径上可用;其语法格式如下:Redirect URL Width numWidth Height numHeight Border numBorder * adURL adHomePageURL Text impressions 代码的前四行包含了广告的全局设置:1)Redirect URL 指出广告将成为其热连接的 URL ;但其并非直接跳转的 URL ,它包 含了两个参数的查询字符串:特定广告主页的 URL 和图象文件的 URL ;这些值从而可在 “ 重定向文件” 中进行提取,并且” 重定向文件“ 仍可以进行其他的处理工作,比如跟踪单击广细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 29 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀教案告的次数、跳转到接受的的广告主页等;2)width 、height、border 不用说一看就知道是连接图片的宽、高以及边框线大小;“ *” 号表示了分隔符,以及“*” 号下面的 每四行为一个单位进行 描述每个广告的细节;其中分别代表:1)指定广告图像文件的位置;2)广告对象的主页URL (假如广告客户没有主页,就该行为一个连字符“-” ,指出该广告没有链接;3)图象的替代文字;在浏览器不支持图形或关闭图像功能时显示的替代文字 4) impressions 指出广告的相对 权值 ;例如,假如轮显列表文件包含 3 个广告,其impressions 分别为 2、3、和 5,就第 1 个广告占用 时间,第 3 个占用 50%的显示时间;3、创建重定向文件20%的显示时间 ,第 2 占用 30%的显示该页主要功能:提取 url 参数值,跳转到广告主页;其语法格式如下:<% whaturl=request.querystring"url" %> <% response.redirect whaturl %> 功能很简洁;当然,这个页仍可以做其它一些大事:跟踪客户端在广告上单击次数,比如将接受过来的相同的 url 地址进行记数的累加,就能显示出该网站广告的点击次数;4、实例: 本例说明如何使用轮显组件在网页上自动轮换显示广告图像;1 创建 AdRotator 对象( ShowAd.asp;显示和放置广告图片的文件;代码如下:<html> <head> <title> 廣告輪顯 </title> </head> <body> <center><h1>廣告輪顯 </h1><hr width="50%" color="#cc9999"><p> <% set objad=server.CreateObject"MSWC.AdRotator" Response.Write objad.GetAdvertisement"ss.txt" 'SS.txt 文件与该文件在同一个目录下;'GetAdvertisement 方法用来读取广告轮显文件所设定的广告图标信息;Set objad=Nothing %> </center> </body> </html> 2 创建轮显列表文件(循环定时文件)文件;(ss.txt;其代码如下:Redirect ar.asp width 113 height 113 border 1 * (广告时间表文件) ,记录全部广告信息的文本./photoshop/1.gif 或 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 29 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀教案编程入门 30 ./photoshop/2.gif 编程入门 30 ./photoshop/3.gif 编程入门 40 3 创建重定向文件(如下:<% AR.asp;超链接处理文件,引导客户到相应广告网页;其代码URL=Request. querystring "URL" Response.Redirect URL %> 二、 ASP 内容轮显组件内容轮显( Content Rotator 组件和广告轮显(Ad Rotator ) 组件类似,只是内容轮显组件 进行随机变换的是页面内容 而不仅仅是一个广告图片,该组件可以用于以下三个方面:1)每日新闻:可以随机显示今日有关网站的不同方面的新信息,例如拜访者情形,新 闻组信息,拜访用户的信息交换;2)随机连接:随机指向并显示各个网站内容;3广告显示:这里面提请留意的是,内容轮显组件可以制作比广告轮显组件(Ad Rotator)所供应的循环广告更加复杂的广告显示系统;使用内容轮显组件的步骤如下:1 创建内容轮显组件对象实例;2 创建内容列表文件;3 检索并显示内容字符串;1、创建内容轮显组件实例内容轮显组件包含在controt.dll 文件中;使用该组件时,需要使用Server.CreateObject 方法创建一个内容轮显组件ContentRotator 对象实例,其语法格式如下:Set oVar=Server.CreateObject"MSWC.ContentRotator" 其 中 参 数 oVar 指 定 由 Server.CreateObject 方 法 创 建 的 内 容 轮 显 组 件(ContentRotator )的实例名称;该方法没有注册表项;2、创建内容列表文件使用内容轮显组件 Content Rotator 第一要创建一个内容支配文件:将全部要显示的网页内容都包含在内,这个文件是一个纯文本文件,可以利用任何通用的文本编辑器处理,可以储备为任何名称和后缀;文件格式如下:%#n/ 注释 显示内容:1整个文件由多个条目组成,每个条目由以上两部分组成;1;2其中 n 表示显示频率权重,权重越高,显示频率越大;其默认值3注释内容是可选的;4)显示内容是指要进行轮显显示的网页内容;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 29 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀教案3、检索并显示内容字符串内容轮显组件(Content Rotator)没有属性,只有两个方法;各方法的描述见下表:方 法 描 述 语 法 格 式ChooseContent 读取内容支配文件中的一个条目并显示在浏览器窗口;ChooseContent <内容支配文件 > GetAllContent 读取内容支配文件中的全部条目,每个条目后加 <hr>换行标记, 然后显示在浏览器窗口;GetAllContent < 内容支配文件 >4、实例 1: 设计随机文本播放器;建立一个具有左右两个框架窗口的框架网页(main.htm ,左框架用来显示个人主页,对应文件为home.asp;右框架为随机文本播放器,对应文件为right.asp;- 框架网页 <html> mian.htm 的代码如下 - <head><title> 我的主页 </title></head> <frameset cols="250,*"> <frame src="home.asp" name="left"> <frame src="right.asp" name="right"> </frameset> </html> - 创建内容轮显组件文件(<html> <head></head> <body> <% right.asp )的代码如下 - Set MyContent=Server.createObject"MSWC.ContentRotator" Response.Write MyContent.ChooseContent"ss.txt" Set MyContent=nothing %> </body> </html> - 内容支配文件(ss.txt )的内容如下 - %#2/ 这是 条目 1,用于显示一个图片形式的超链接 <a href=""><img src="3.gif"></a> %#2/ 这是 条目 2,用于显示两行文本,并对内容字符串设置了字体、字号和颜色<center><font face=" 楷体 _GB2312" size="6" color="red"> <p>白日依山尽,黄河入海流;</p> <p>欲穷千里目,更上一层楼;</p></font></center> %#1/ 这是 条目 3,用于播放一个媒体文件 <embed src="a.swf" width="500" height="450"></embed> - 左框架中显示的文件 <html> ( home.asp )代码如下 - <head><title> 我的主页 </title></head> <body> <center> 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 29 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀教案<h1>我的主页 </h1> 内容轮显组件的使用 </center> </body> </html> 三、内容链接组件内容链接组件(Content Linking 用于创建治理 URL 列表的内容链接( NextLink )对象, 通过该对象可以 自动生成和更新目录表 及从前和后续的 Web 页的导航链接; 使用内 容链接组件的步骤如下:1 创建内容链接(NextLink ) 对象实例;2 创建内容链接列表文件;3 使用内容链接(NextLink ) 对象的方法生成导航链接;1、创建内容链接对象实例内容链接组件包含在nextlink.dll 文件中;使用内容链接组件时,第一基于该组件创建一个内容链接(NextLink ) 对象实例;其语法格式如下:Set NextLink=Server.CreateObject"MSWC.NextLink" 其中,参数 NextLink 指定创建的对象的名称;该方法没有注册表项;2、创建链接列表文件要使用内容链接组件 ( Content Linking ),必需需要先创建链接列表文件(Content Linking List );内容链接组件正是通过读取这个文件来获得并处理我们期望链接的全部页面的信息;事实上该文件是一个纯文本文件,此文件必需在 Web 服务器的虚拟路径上使用;内容链接列表文件为列表中的每个 URL 包含一行文字, 每行以回车换行终止,行中的每一项以Tab 制表符分隔; 其语法格式如下:Web-page-URL text-description comment 注:其中 Web-page-URL 参数指定要链接的 Web 页的路径,可以是 Web 页的虚拟或相对 URL ,不支持以” http:" 、"/ “ 或” 开头的肯定 URL ;text-description 参数给出 Web-page-URL 的描述文字; comment 给出注释性文字, 内容链接组件不处理这些文字;3、检索内容链接列表文件内容链接文件供应了一系列的方法,使用这些方法可以从内容链接列表文件中猎取Web 页的 URL 、描述文字和其他相关信息;在.asp 文件中使用这些方法可以自动生成Web 页的导航链接;各方法的描述见下表:方法描述语法格式GetListCount 猎取内容链接列表文件中所列的Web 页总数;GetListCountlistURL GetListIndex 猎取在内容链接列表文件中的当前项目的索引号;GetListIndexlistURL )GetNextDescription 猎取内容链接列表文件中下一个项目的描述文字;GetNextURLlistURL GetNextURL 猎取内容链接列表文件中下一项的URL ;GetNextURLlistURL GetNthURL 返回内容链接列表文件中某项的URL ;GetNthURLlistURL,i GetNthDescription 猎取内容链接列表文件中某项的描述文字;GetNthDescriptionlistURL,i GetPreviousDescription 猎取内容链接列表文件中前一项的描述文字;GetPreviousDescriptionlistURL GetPreviousURL 猎取内容链接列表文件中前一项的URL ;GetPreviousURLlistURL 注: listURL 参数指定内容链接文件的位置;参数 i 第 i 个项目的索引号;4、实例 1:在本例中使用内容链接组件将“ 上一页”和“ 下一页”链接添加到Web 页 第 5 页,共 29 页 - - - - - - - - - 中;(在链接列表 nextlink.txt 文件中每行以回车换行终止,行中的每一项以Tab 制表符细心整理归纳 精选学习资料 - - - - - - - - - - - - - - -名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀教案分隔;)- -nextlink.txt - a1.asp contentLinking 组件应用示例之一 b1.asp content Linking 应用示例之二 c1.asp content Linking 应用示例之三- -nextlink.inc - <% Set NextLink=Server.CreateObject"MSWC.NextLink" %> <% if NextLink.GetListIndex "Nextlink.txt">1 Then %> <p>上一页:<A HREF="<%=NextLink.GetPreviousURL"Nextlink.txt" %>"><%=NextLink.GetPreviousDescrip tion"Nextlink.txt" %></A> <% End if %> 下一页:<A HREF="<%=NextLink.GetNextURL"Nextlink.txt"%>"><%=NextLink.GetNextDescription"N extlink.txt" %></A> -a1.asp- <html> <head> <title>Content Linking 组件应用示例 </title> </head> <body> <h3>这是第一个网页;</h3><hr> <.- #include file="nextlink.inc" -> </body> </html> -b1.asp- <html> <head> <title>Content Linking 组件应用示例 </title> </head> <body> </h3><hr> <h3>这是其次个网页;<.- #include file="nextlink.inc" -> </body> </html> -c1.asp- <html> <head> <title>Content Linking 组件应用示例 </title> </head> <body> </h3><hr> <h3>这是第三个网页;<.- #include file="nextlink.inc" -> 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 29 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀教案</body> </html> 5、实例 2: 本实例以上一列为基础,只是以一个下拉式列表框展现每一项列表内容;-nextlink.txt- 1a.asp contentLinking 组件应用示例之一 1c.asp content Linking 应用示例之二 1d.asp content Linking 应用示例之三-nextlink.inc- <form method="post" action="1b.asp"> <select name="Topic"> <option selected value="1a.asp"> 请挑选一个主题 <% for i=1 to n %> <option value=<%=nextlink.GetNthURL"Nextlink.txt",i k.txt",i %> <% next %> </select> %>><%=Nextlink.GetNthDescription"Nextlin<input type="submit" value=" 转到 "> </form> -1b.asp- <% Response.Redirect Request.form"Topic" %> -1a.asp- <html> <head> <title>Content Linking 组件应用示例 </title> </head> <body> </h3><hr> <h3> 这是第一个网页;<.- #include file="nextlink.inc" -> </body> </html> -1c.asp- <html> <head> <title>Content Linking 组件应用示例 </title> </head> <body> </h3><hr> <h3>这是其次个网页;<.- #include file="nextlink.inc" -> </body> </html> -1d.asp- 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 29 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀教案<html> <head> <title>Content Linking 组件应用示例 </title> </head> <body> <h3>这是第三个网页;</h3><hr> <.- #include file="nextlink.inc" -> </body> </html> 四、计数组件一、页面计数器(Page Counter 组件 页面计数器(Page Counter 组件用于 统计 每个网页 被拜访的次数 ,该组件定期把统 计的数据存入服务器磁盘上的一个文本文件- 拜访次数统计数据文件中,所以在停机或显现错误信息时,当前数据也不会丢失;1、创建页面计数器组件的实例对象 页面计数器组件包含在 pagecnt.dll 文件中;当使用 Server.CreatObject 方法在一页上创建页面计数器组件对象的实例时,此对象从中心治理对象中为指定的 Web 页猎取其当前的 拜访次数,然后就可以使用此对象已有的方法来操作了;语法格式如下:Set 实例对象名 =Server.CreateObject"MSWC.PageCounter" 2、Page Counter 对象的方法Page Counter 对象供应了向 “ 拜访次数统计数据文件”重新设置拜访计数总和的方法;各方法的描述见下表:增加拜访次数的方法以及读取和方 法 描 述 语 法 格 式Hits 返回由 Page_Path 指定的网页的拜访次数,Object.HitsPage_Path 假如省略 Page_Path,返回当前网页的拜访次数;PageHite 增加当前网页的拜访次数;Object.PageHit Reset 设置由 Page_Path 指定的网页的拜访次数为 0,假如省略 Page_Path,设置当前网页的拜访次数为 0;ResetPage_Path 3、实例 1:使 用页面计数器组件创建网页计数器;-PageCounter.asp <% 代码如下 - Set MyPageCounter=Server.CreateObject"MSWC.PageCounter"' 创建 PageCounter 对象实例;MyPageCounter.PageHit'增加此网页的计数器值;if Request"reset"="on" then '是否提交重置信息;MyPageCounter.Reset end if %> <html> '重置此网页的计数器;<head><title> 页面计数器示例 </title></head> <body> <p><center><b> <font face=" 华 文 彩 云 " size="50" color="#cc9999">这 个Web 页 被 浏 览 了<%=MyPageCounter.Hits %> 次; </font> </b></center></p> 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 29 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀教案<center><Form name="PageCounter" method="get" action="PageCounter.asp"> <input type="Submit" value=" 点击网页 "> <input type="checkbox" name="reset"> 重置网页计数器 </center> </form> </body> </html> 二、计数器(Counter 组件Counters 对象实例; 在一个Web 站点上仅创建计数器组件 (Counters 用于创建一个一个 Counters 对象,通过该对象可以创建 任意数量的 独立计数器 ;计数器是一个包含整数的连续值,可以使用计数器组件的方法来掌握计数器;1、创建计数器组件的实例对象计数器组件包含在 Counters.dll 文件中,通过该组件创建的全部计数器都储备在一个名为 Counters.txt 的文本文件中; 假如将下面的内容加入到应用程序的 global.asa 文件中, 可以在 Web 服务器上一次性创建 Counters 对象的实例;<OBJECT RUNA T="Server" SCOPE="Application" ID="Counter" PROGID="MSWC.Counters"></OBJECT> 一旦创建了计数器对象,它将始终连续下去直到被删除为止,可以在整个应用程序范围内使用该对象的方法对计数器进行掌握;例如,假如在一个名为 Page1.asp 的页上显示和增加一个叫做 HitCount 的计数器的值,而又在一个叫做 Page2.asp 的页上增加 HitCount 的值就两页将增加同一计数器的值;假如拜访 Page1.asp 时,计数器的值增加到 34,就访问 Page2.asp 会将 HitCount 增加到 35,下一次拜访 2、Counters 对象的方法Page1.asp , HitCount 将增加到 36;创建一个计数器对象之后,可以使用该对象的方法返回计数器的值,使计数器的值加 1,从 counters.txt 文件中删除计数器以及将计数器的值设为一个特定的整数;各方法的描述见下表:方法描述语法格式Get 该方法依据计数器的名称返回其当前值,假如此Counters.GetCounterName 计数器不存在,就该方法创建它并将其置加0;Increment 该方法依据计数器的名称,将该计数器的值加 1 并返回计数器的新值;假如该计数器不存在,此方法将创建它并将其值设为 1;Counters.IncrementCounterName Remove 该方法依据计数器的名称从计数器对象和 counters.txt 文件中删除计数器;Counters.RemoveCounterName Set 该方法依据计数器的名称,将计数器设置为一个指定的整数值并返回此新值;假如该计数器不存在,此方法创建计数器并将其值设为这个整数;Counters.SetCounterName,int 注:参数 CounterName 是一个字符串,用于指定计数器的名称;参数 int 指定该计数器的新整 数值;3、实例 1:使用计数器组件设计一个对唱手投票的记票系统;细心整理归纳 精选学习资料 -global.asa 代码如下 - ID="Counters" 第 9 页,共 29 页 '通过 <OBJECT> 在 Web 服务器上一次性创建一个Counters 对象;<OBJECT RUNA T="Server" SCOPE="Application" - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀教案PROGID="MSWC.Counters"></OBJECT> - 提交表单 <HTML> 1.asp 代码如下 - <HEAD><TITLE>选出您最喜爱的歌手</TITLE> <% Session"counter"=Session"counter"+1 if Session"counter">1 then a="1.asp" response.write "您已经投过票了;感谢!" else a="2.asp" end if %> </HEAD> <BODY> <Form NAME="Form1" METHOD="POST" action=<%=a %>> <P><CENTER> 从 下 列 候 选 人 中 选 择 一 个 您 最 喜 欢 的 歌 手 <hr width="70%" color="#cc9999"> <p><input type="radio" name="singer" value="a">小郎 <input type="radio" name="singer" value="b">