780 likes | 946 Views
项目 5. ASP 动态网页设计技术. ASP 内置组件. 本章任务:. 广告轮显与点击次数统计。 图书馆新书通报。 馆长意见簿。. 本章要点:. 广告轮显组件 Ad Rotator 的作用及使用方法。 文件超链接组件 Content Linking 的作用及其使用方法。 文件存取组件 File Access 的作用及其使用方法。 网页计数器组件 PageCounter 的作用及其使用方法。。. 5.1 ASP 组件概述.
E N D
项目5 ASP动态网页设计技术 ASP内置组件
本章任务: • 广告轮显与点击次数统计。 • 图书馆新书通报。 • 馆长意见簿。
本章要点: • 广告轮显组件Ad Rotator的作用及使用方法。 • 文件超链接组件Content Linking的作用及其使用方法。 • 文件存取组件File Access的作用及其使用方法。 • 网页计数器组件PageCounter的作用及其使用方法。。
5.1 ASP组件概述 • ASP内置组件是指在安装ASP时自动注册到ASP Web服务器上的组件,主要的ASP内置组件如表5-1所示。这些组件存放在Microsoft Web Class类库中,Microsoft Web Class类库的缩写是MSWC。
5.1 ASP组件概述 • 查看ASP组件信息 在VB的集成开发环境中执行“工程”→“引用”菜单命令,将会出现5-1所示的引用对话框,在该对话框中浏览到以MSWC开头的组件,这些组件都是ASP组件。选中某组件左侧的复选框,然后按“确定”按钮即把该组件加载到VB的工程中。图5-1就是把Content Linking 组件加载到VB的工程中。
图5-1 VB的“引用”对话框 图5-2 “对象浏览器”窗口
5.1 ASP组件概述 • 按“F2”键,将会出现“对象浏览器”窗口。在该窗口的“类库”下拉式列表框中列出了当前工程所用到的所有类库,如图5-2所示。选中相应类库,即可浏览相应类库中组件的信息。如选中“NextLink”类库,该类库中组件的浏览情况如图5-3所示。 图5-3 “NextLink组件信息浏览”窗口
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator • 利用ASP提供的内置的广告轮显组件Ad Rotator,在构建自己的Web网站时,用户也可以方便地建立功能完善的广告系统。利用广告轮显组件Ad Rotator可以实现按一定的比例随机显示广告图片,当用户单击某个广告图片时跳转到相应的网页,统计用户单击各个广告的次数等。
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator • 任务5-1描述:编写一个网页,用来为丰田花冠汽车、惠普打印机和超级女生娱乐频道做广告,当用户打开该网页时,随机显示相应的广告图片,广告图片的显示总体次数比例为1(花冠汽车):2(惠普打印机):1(超级女生)。在浏览器中浏览该广告网页时,首先将会出现如图5-4所示的显示广告图片的页面(每次访问显示的图片可能不同),单击图片将会跳转到相应的网页。单击“显示广告点击次数”超链接,将会出现如图5-5所示的显示广告点击次数网页,在该网页中显示出每一幅的广告被点击的总次数。
图5-4 显示广告图片网页 图5-5 显示广告点击次数网页
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator • 任务分析:可使用内置的广告轮显组件Ad Rotator来实现广告轮显功能。使用该组件来实现广告轮显,首先需建立一个广告轮换计划文件,该文件指明要显示的广告图片、广告图片的大小、广告的注释信息、单击广告后的重定向信息及广告显示次数比例的数字。为统计各广告被点击的次数,可定义若干个应用程序级变量,当用户单击广告图片时,将转向到广告网页重定向文件,在该文件中判断用户单击的是哪一幅广告图片(通过获取的URL地址来判断),再把相应的广告点击次数加1,然后定位到URL地址指定的网站或网页。
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator • 使用广告轮显组件一般步骤如下: (1)创建一个广告轮换计划文件,指明轮显的广告图片、显示次数比例等; (2)创建一个广告网页重定向文件,用来重定向到用户单击的广告对应的网页; (3)创建一个广告图片显示网页,用来调用Ad Rotator组件来显示和轮换广告。
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator • 本任务的实现过程如下。 (1)用记事本打开D:\ASPExample文件夹下的Global.asa文件,在Application_OnStart事件代码中添加下列程序代码并保存。 Application.Lock Application("hgCarNum")=0 '花冠汽车点击次数 Application("HpPrinterNum")=0 '惠普打印机点击次数 Application("HyperGirlNum")=0 '超级女生点击次数 Application.Unlock (2)启动记事本,在记事本中输入如下代码,并把它保存到D:\ASPExample\ch05\Task5_1文件夹下,取名为Task5_1_Schdule.txt,该文件为广告轮换计划文件。
Redirect Task5_1_NumAdd.asp Width 700 Height 100 Border 1 * A1.JPG http://www.ftms.com.cn 花冠汽车 1 A2.jpg http://www.hp.com.cn 惠普打印机 2 A3.JPG http://show.yule.sohu.com/casio 超级女声进行时 1
广告轮换计划文件的一般格式如下: • Redirection 广告网页重定向文件URL • Width m (图片的宽度,以像素为单位,默认值为440像素) • Height n (图片的高度,以像素为单位,默认值为60像素) • Border k (图片边框的宽度,默认值为1,无边框时,值为0) • * • 广告1图片文件名 • 广告1客户网页的URL • 广告1说明文本 • 广告1出现次数比例 • 广告2图片文件名 • 广告2客户网页的URL • 广告2说明文本 • 广告2出现次数比例 • ……
其中第一节是可选的,如果忽略了一项或多项参数,而且没有明确设置对象属性,那么参数将使用默认值,如果忽略了所有参数,仍需把“*”作为文件的第一行。其中第一节是可选的,如果忽略了一项或多项参数,而且没有明确设置对象属性,那么参数将使用默认值,如果忽略了所有参数,仍需把“*”作为文件的第一行。 • 第二节必须存在,它提供了各个广告条细节,需定义四个参数,含义如下: • 广告图片文件名。用来指定广告图片文件的虚拟路径和文件名。 • 广告客户网页的URL。用来指定单击广告图片时,跳转到的URL,用“-”表示该广告没有链接。 • 广告说明文本。用来指定浏览器不支持图片时显示的说明文本。 • 广告出现次数比例。用来指出此广告条出现的比例,假设有三个广告条,广告出现比例分别设置为2、3和5,那么用户访问该网页时,有20%可能出现第一幅广告,有30%可能出现第二幅广告,有50%可能出现第三幅广告。
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator • 说明 • 当用户单击广告图片时,浏览器将会自动定向到广告网页重定向文件,并且向该文件传送被点击广告的URL地址,在广告网页重定向文件中,可通过Request的QueryString集合取得该URL地址。
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator (2)再次启动记事本,在其中输入如下代码,并把它保存到D:\ASPExample\ch05\Task5_1文件夹下,取名为Task5_1.asp,该文件为广告图片显示网页。
<html> <head> <title>轮回显示广告网页</title> </head> <body> <h2 Align=center>单击下面图片,将链接到相应的网站。</h2> <% Dim objAR Set objAR=Server.Createobject("MSWC.AdRotator") Response.Write(objAR.GetAdvertisement("Task5_1_Schdule.txt")) %> <br> <a href="task5_1_HitsNum.asp">显示广告点击次数</a> </body> </html>
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator • 说明 ①该网页首先使用Server.Createobject方法创建了一个Ad Rotator对象,然后调用该对象的GetAdvertisement方法从广告轮换文件获取随机广告并显示出来。网页的最后还制作了一个超链接,链接到显示各广告被用户点击次数的网页。 ②创建广告轮显组件的一般格式如下: Set 变量名=Server.Createobject("MSWC.AdRotator") 其中,变量名用来存放要创建的广告轮显组件对象,参数MSWC.AdRotator是广告轮显组件的类名。 ③获取随机广告可使用广告轮显组件的GetAdvertisement方法,调用该方法的一般格式如下。 对象名. GetAdvertisement("广告轮换计划文件名") 其中,对象名为广告轮显组件对象名。
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator (3)启动浏览器,在地址栏输入:http://LocalHost/ASPE/CH05/Task5_1/Task5_1.ASP后按回车键,将会出现类似于如图5-4所示的显示广告图片网页,但显示的广告图片可能不一样,例如图5-6就是某一次访问该网页时出现的广告图片。不过此时单击图片及图片下的超链接,均会出现找不到网页的错误,原因是相应的网页并没有编写。
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator (4)再次启动记事本,在其中输入如下代码,并把它保存到D:\ASPExample\ch05\Task5_1文件夹下,取名为Task5_1_NumAdd.asp,该文件为广告网页重定向文件。 <html> <head> <title>为点击网页增加次数</title> </head> <body> <% dim strURL strURL=Request.QueryString("url") Select Case lcase(strURL)
Case "http://www.ftms.com.cn" Application.Lock Application("hgCarNum")=Application("hgCarNum")+1 Application.Unlock case "http://www.hp.com.cn" Application.lock Application("HpPrinterNum")=Application("hgCarNum")+1 Application.unlock case "http://show.yule.sohu.com/casio" Application.lock Application("HyperGirlNum")=Application("hgCarNum")+1 Application.Unlock End Select Response.Redirect strURL %> </body> </html>
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator (5)启动浏览器,在地址栏输入:http://LocalHost/ASPE/CH05/Task5_1/Task5_1.ASP后按回车键,将会出现类似于如图5-4所示的显示广告图片网页。此时单击图片会跳转到与该广告图片对应的网站,但单击广告图片下面的超链接,依然显示不出广告被点击的次数。 (6)再次启动记事本,在其中输入如下代码,并把它保存到D:\ASPExample\ch05\Task5_1文件夹下,取名为Task5_1_HitsNum.asp,该文件为显示广告点击次数网页文件。
<html> <head> <title>显示点击次数</title> </head> <body> <center> <h2>各广告的点击次数如下:<h2><BR> <TABLE Border=1> <TR><TD>花冠汽车(丰田汽车)<TD><%=Application("hgCarNum")%> <TR><TD>惠普打印机(惠普公司)<TD><%=Application("HpPrinterNum")%> <TR><TD>超级女生进行时(搜狐娱乐) <TD><%=Application("HyperGirlNum")%> </TABLE> </center> </body> </html>
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator (7)启动浏览器,在地址栏输入:http://LocalHost/ASPE/CH05/Task5_1/Task5_1.ASP后按回车键,将会出现类似于如图5-4所示的显示广告图片网页。此时单击广告图片会跳转到与该广告图片对应的网站。多次刷新并单击广告图片,然后再单击广告图片下图的超链接,将会显示出类似于图5-5所示的显示广告点击次数的网页。至此本任务顺利完成。
5.2 任务5-1:广告轮显网页——广告轮显组件Ad Rotator • 归纳说明: 本任务共涉及到了六个文件,其作用如下: Global.asa 定义记录各广告点击次数的应用程序级变量并赋初值为0 Task5_1_Schdule.txt 广告轮换计划文件 Task5_1_NumAdd.asp 广告网页重定向文件(本任务中还实现点击次数统计功能) Task5_1.asp 广告图片显示网页文件 Task5_1_HitsNum.asp 显示广告点击次数网页文件 总的运行过程如下:系统启动的时候,运行在Global.asa中定义的Application_OnStart事件过程,定义记录各广告点击次数的应用程序级变量并赋初值0。在Task5_1.asp中创建广告轮显组件对象并调用Task5_1_Schdule.txt文件创建随机广告。当用户单击广告时浏览器将转向Task5_1_NumAdd.asp网页,在该网页中把用户点击的相应广告的点击次数加1并转向到广告客户网页。在Task5_1_HitsNum.asp网页中显示各广告图片被点击的次数。
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter • 任务5-2描述: 为图书馆网站增添热点书推荐功能。当用户要查看热点书推荐时,首先在浏览器中出现如图5-7所示的热点书推荐目录网页,单击相应的书目超链接,将会出现相应类的热点书推荐。图5-8就是单击“计算机书目”超链接后显示出来的计算机热点书推荐网页。
图5-7 热点书推荐目录网页 图5-8 计算机热点书推荐网页
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter • 任务分析: • 可使用ASP的两个内置组件实现本任务的功能:内容链接组件Content Linking用来实现热点书推荐中各种书目的导航;网页计数器组件PageCounter用来统计该网页被访问的次数。
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter • 任务实现: (1)启动记事本,在其中输入下列文本,然后把它保存到D:\ASPExample\ch05\task5_2文件夹下,取名为BookPageList.txt,该文件为内容链接文件。 ComputerNewBook.asp 计算机书目 2006-8-29编 EnglishNewBook.asp 英语书目 2006-8-29编 ArticleNewBook.asp 文学书目 2006-8-29编
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter • 说明 ①内容链接文件的格式非常重要,不能随意更改。该文件由三列组成,分别是网页URL列、说明列和注释列。网页URL列列出可浏览的网页URL;说明列列出与网页相关的说明文字;注释列用于对本列进行注释,是可选的。 ②内容链接文件的各列之间用Tab制表位分开,并且两列之间只能有一个Tab制表位,在每一行的结尾按回车键换行,网页URL前不需带前缀http://。 ③内容链接文件中的每一行称为一项,每一项与一个网页文件联系在一起,项的顺序也决定了相应网页的导航顺序。
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter • 任务5-2描述: 为图书馆网站增添热点书推荐功能。当用户要查看热点书推荐时,首先在浏览器中出现如图5-7所示的热点书推荐目录网页,单击相应的书目超链接,将会出现相应类的热点书推荐。图5-8就是单击“计算机书目”超链接后显示出来的计算机热点书推荐网页。
图5-7 热点书推荐目录网页 图5-8 计算机热点书推荐网页
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter • 任务分析: 可使用ASP的两个内置组件实现本任务的功能:内容链接组件Content Linking用来实现热点书推荐中各种书目的导航;网页计数器组件PageCounter用来统计该网页被访问的次数。
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter • 任务实现: (1)启动记事本,在其中输入下列文本,然后把它保存到D:\ASPExample\ch05\task5_2文件夹下,取名为BookPageList.txt,该文件为内容链接文件。 ComputerNewBook.asp 计算机书目 2006-8-29编 EnglishNewBook.asp 英语书目 2006-8-29编 ArticleNewBook.asp 文学书目 2006-8-29编 MusicNewBook.asp 音乐书目 2006-8-29编
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter • 说明 ①内容链接文件的格式非常重要,不能随意更改。该文件由三列组成,分别是网页URL列、说明列和注释列。网页URL列列出可浏览的网页URL;说明列列出与网页相关的说明文字;注释列用于对本列进行注释,是可选的。 ②内容链接文件的各列之间用Tab制表位分开,并且两列之间只能有一个Tab制表位,在每一行的结尾按回车键换行,网页URL前不需带前缀http://。 ③内容链接文件中的每一行称为一项,每一项与一个网页文件联系在一起,项的顺序也决定了相应网页的导航顺序。
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter • 任务实现: (2)在记事本中新建一个文本文件,在其中输入下列代码。然后把它保存到D:\ASPExample\ch05\task5_2文件夹下,取名为ComputerNewBook.asp,该文件为计算机新书通报网页。
<html> <head> <title>计算机热点书推荐</title> </head> <body> <Font Size=6 Face="华文新魏">计算机热点书推荐</Font> <Table Width=90% Border=2> <TR><TH>书名 <TH>作者 <TH>出版社 <TH>单价 <TR><TD>计算机应用基础 <TD>孙一平 <TD>兵器工业出版社 <TD>23.50 <TR><TD>计算机网络应用 <TD>赵小平 <TD>机械工业出版社 <TD>28.00 <TR><TD>VB数据库编程 <TD>童爱红 <TD>清华大学出版社 <TD>29.00 <TR><TD>Delphi应用教程 <TD>胡光兵 <TD>清华大学出版社 <TD>34.00 <TR><TD>校园网组建 <TD>瘳常武 <TD>清华大学出版社 <TD>32.00 <TR><TD>ASP程序设计与应用 <TD>卫振林 <TD>机械工业出版社 <TD>22.00 <TR><TD>Delphi网络高级编程 <TD>鲍敏 <TD>人民邮电出版社 <TD>54.00 </Table> </body> </html>
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter (3)启动浏览器,在地址栏中输入http://LocalHost/ASPE/CH05/Task5_2/Computer NewBook.ASP后按回车键,将会出现类似于如图5-8所示的计算机热点书推荐网页。 (4)重复(2)和(3),编写英语热点书推荐、文学热点书推荐和音乐热点书推荐等网页,并在浏览器中浏览调试。代码基本相似,不再给出。 (5)再次启动记事本,在其中输入下述代码并保存到D:\ASPExample\ch05\task5_2文件夹下,取名为Task5_2.asp,该文件为图书馆新书通报网页。
<HTML> <HEAD><Title>图书馆热点书推荐</Title></HEAD> <Body> <Center><Font Size=6 Face="华文新魏">热 点 书 推 荐</Font></Center> <HR> <Center> <% Dim objCL '存放Content Linking组件对象 Dim LinkURL '存放网页URL Dim LinkDescription '存放网页的说明信息 Dim ListCount '存放内容链接文件中项的数目 Dim i '循环变量 Dim objHits '存放页面计数器的变量
Set objCL=Server.CreateObject("MSWC.NextLink") '生成内容链接组件对象 ListCount=objCL.GetListCount("BookPageList.txt") '获取内容链接文件中项的数目 i=1 Response.write "<table><tr>" '循环访问内容链接文件中的项,并为每项制作超链接,超链文字为说明信息 Do while i<=ListCount Response.Write "<TD>" LinkURL=objCL.GetNthURL("BookPageList.txt",i) '获取第i项的网页URL '获取第i项的说明文字 LinkDescription=objCL.GetNthDescription("BookPageList.txt",i)
'以下为输出超链接的标记 Response.Write "<A Href ='" & LinkURL & "'>" Response.Write LinkDescription & "</A>" & " " i=i+1 Response.write "</TD>" Loop Response.Write "</Table>" Response.Write "<HR>" Response.Write "<Font Size=5>" '生成页面计数器组件对象 Set objHits=Server.CreateObject("mswc.pagecounter") '显示网页被点击的次数 Response.Write "您是第<B>" & objHits.pagehit & "</B>位访问者!" Response.Write "</Font>" %> </Center> </Body> </HTML>
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter • 说明 ①上述代码首先生成内容链接组件对象,然后获取内容链接文件中项的数目,接着通过一个循环,在循环中依次获取内容链接文件中各项的说明文字和网页URL,并以说明文字作为链接文本,以网页URL作为链接地址做成超链接。最后生成页面计数器对象,并显示出页面被访问的次数。
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter • 说明 ②内容链接组件在使用之前必须创建相应的对象,创建内容链接组件对象的一般格式如下: Set 变量名=Server.CreateObject("MSWC.NextLink") 如本作任务中的语句“Set objCL=Server.CreateObject("MSWC.NextLink")”的作用就是创建一个内容链接组件对象,并赋值给变量objCL。 ③任务中使用了内容链接组件的GetListCount、GetNthURL和GetNthDescription方法,它们的作用分别是获取内容链接文件的项的数目、指定项的网页URL和指定项的说明文字。内容链接组件的方法及其功能如表5-2所示。
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter • 说明 ④创建网页计数器组件对象的一般格式如下: Set 变量名=Server.CreateObject("MSWC.pagecounter ") 如本作任务中的语句“Set objHits=Server.CreateObject("mswc.pagecounter")”的作用就是创建一个网页计数器对象,并赋值给变量objHits。 ⑤任务中的代码“objHits.pagehit”调用了网页计数器的pagehit方法,使当前网页的访问次数加1并返回访问次数。网页计算器还有两个方法Hits和Reset,下面分别介绍它们的使用方法。 Hits方法的一般格式如下: 网页计数器对象名.Hits("URL") 其作用是返回URL指定的网页被访问的次数。 Reset方法的一般格式如下: 网页计数器对象名.Reset("URL") 其作用是把URL指定的网页的访问次数重置为0。
5.3 任务5-2:图书馆热点书推荐——内容链接组件Content Linking和网页计数器组件PageCounter (6)启动浏览器,在地址栏中输入http://LocalHost/ASPE/CH05/Task5_2/Task5_2.ASP后按回车键,将会出现5-7所示的网页,单击相应的超链接,将会出现相应类的热点书推荐网页。至此,本任务顺利完成。