78
ASP 动动 动动 动动 动动

ASP 动态网页设计技术

  • Upload
    alton

  • View
    96

  • Download
    4

Embed Size (px)

DESCRIPTION

项目 5. ASP 动态网页设计技术. ASP 内置组件. 本章任务:. 广告轮显与点击次数统计。 图书馆新书通报。 馆长意见簿。. 本章要点:. 广告轮显组件 Ad Rotator 的作用及使用方法。 文件超链接组件 Content Linking 的作用及其使用方法。 文件存取组件 File Access 的作用及其使用方法。 网页计数器组件 PageCounter 的作用及其使用方法。。. 5.1 ASP 组件概述. - PowerPoint PPT Presentation

Citation preview

Page 1: ASP 动态网页设计技术

ASP

动态网页设计技术

Page 2: ASP 动态网页设计技术

广告轮显与点击次数统计。 图书馆新书通报。 馆长意见簿。

本章任务:

Page 3: ASP 动态网页设计技术

广告轮显组件 Ad Rotator 的作用及使用方法。

文件超链接组件 Content Linking 的作用及其使用方法。

文件存取组件 File Access 的作用及其使用方法。

网页计数器组件 PageCounter 的作用及其使用方法。。

本章要点:

Page 4: ASP 动态网页设计技术

ASP 内置组件是指在安装 ASP 时自动注册到 ASP Web 服务器上的组件,主要的 ASP 内置组件如表 5-1 所示。这些组件存放在 Microsoft Web Class 类库中,Microsoft Web Class 类库的缩写是MSWC 。

5.1 ASP 组件概述

Page 5: ASP 动态网页设计技术
Page 6: ASP 动态网页设计技术

查看 ASP 组件信息 在 VB 的集成开发环境中执行“工程”→

“引用”菜单命令,将会出现 5-1 所示的引用对话框,在该对话框中浏览到以 MSWC

开头的组件,这些组件都是 ASP 组件。选中某组件左侧的复选框,然后按“确定”按钮即把该组件加载到 VB 的工程中。图 5-1

就是把 Content Linking 组件加载到 VB 的工程中。

5.1 ASP 组件概述

Page 7: ASP 动态网页设计技术

图 5-1 VB 的“引用”对话框 图 5-2 “ 对象浏览器”窗口

Page 8: ASP 动态网页设计技术

按“ F2” 键,将会出现“对象浏览器”窗口。在该窗口的“类库”下拉式列表框中列出了当前工程所用到的所有类库,如图5-2 所示。选中相应类库,即可浏览相应类库中组件的信息。如选中“ NextLink” 类库,该类库中组件的浏览情况如图 5-3 所示。

5.1 ASP 组件概述

图 5-3 “NextLink 组件信息浏览”窗口

Page 9: ASP 动态网页设计技术

利用 ASP 提供的内置的广告轮显组件 Ad

Rotator ,在构建自己的 Web 网站时,用户也可以方便地建立功能完善的广告系统。利用广告轮显组件 Ad Rotator 可以实现按一定的比例随机显示广告图片,当用户单击某个广告图片时跳转到相应的网页,统计用户单击各个广告的次数等。

5.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

Page 10: ASP 动态网页设计技术

任务 5-1 描述:编写一个网页,用来为丰田花冠汽车、惠普打印机和超级女生娱乐频道做广告,当用户打开该网页时,随机显示相应的广告图片,广告图片的显示总体次数比例为 1 (花冠汽车): 2 (惠普打印机): 1 (超级女生)。在浏览器中浏览该广告网页时,首先将会出现如图 5-4 所示的显示广告图片的页面(每次访问显示的图片可能不同),单击图片将会跳转到相应的网页。单击“显示广告点击次数”超链接,将会出现如图 5-5 所示的显示广告点击次数网页,在该网页中显示出每一幅的广告被点击的总次数。

5.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

Page 11: ASP 动态网页设计技术

图 5-4 显示广告图片网页

图 5-5 显示广告点击次数网页

Page 12: ASP 动态网页设计技术

任务分析:可使用内置的广告轮显组件 Ad Rotator来实现广告轮显功能。使用该组件来实现广告轮显,首先需建立一个广告轮换计划文件,该文件指明要显示的广告图片、广告图片的大小、广告的注释信息、单击广告后的重定向信息及广告显示次数比例的数字。为统计各广告被点击的次数,可定义若干个应用程序级变量,当用户单击广告图片时,将转向到广告网页重定向文件,在该文件中判断用户单击的是哪一幅广告图片(通过获取的 URL 地址来判断),再把相应的广告点击次数加 1 ,然后定位到URL 地址指定的网站或网页。

5.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

Page 13: ASP 动态网页设计技术

使用广告轮显组件一般步骤如下: ( 1 )创建一个广告轮换计划文件,指明轮

显的广告图片、显示次数比例等; ( 2 )创建一个广告网页重定向文件,用来

重定向到用户单击的广告对应的网页; ( 3 )创建一个广告图片显示网页,用来调

用 Ad Rotator 组件来显示和轮换广告。

5.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

Page 14: ASP 动态网页设计技术

本任务的实现过程如下。 ( 1 )用记事本打开 D:\ASPExample 文件夹下的

Global.asa 文件,在 Application_OnStart 事件代码中添加下列程序代码并保存。

5.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

Application.Lock Application("hgCarNum")=0 ' 花冠汽车点击次数 Application("HpPrinterNum")=0 ' 惠普打印机点击次数 Application("HyperGirlNum")=0 ' 超级女生点击次数 Application.Unlock

( 2 )启动记事本,在记事本中输入如下代码,并把它保存到 D:\ASPExample\ch05\Task5_1 文件夹下,取名为 Task5_1_Schdule.txt ,该文件为广告轮换计划文件。

Page 15: ASP 动态网页设计技术

Redirect Task5_1_NumAdd.aspWidth 700Height 100Border 1*A1.JPGhttp://www.ftms.com.cn花冠汽车1A2.jpghttp://www.hp.com.cn惠普打印机2A3.JPGhttp://show.yule.sohu.com/casio超级女声进行时1

Page 16: ASP 动态网页设计技术

•广告轮换计划文件的一般格式如下:

Redirection 广告网页重定向文件 URL Width m (图片的宽度,以像素为单位,默认值为 440 像素) Height n (图片的高度,以像素为单位,默认值为 60 像素) Border k (图片边框的宽度,默认值为 1 ,无边框时,值为 0 ) * 广告 1 图片文件名 广告 1 客户网页的 URL 广告 1 说明文本 广告 1 出现次数比例 广告 2 图片文件名 广告 2 客户网页的 URL 广告 2 说明文本 广告 2 出现次数比例 ……

Page 17: ASP 动态网页设计技术

•其中第一节是可选的,如果忽略了一项或多项参数,而且没有明确设置对象属性,那么参数将使用默认值,如果忽略了所有参数,仍需把“ *”作为文件的第一行。•第二节必须存在,它提供了各个广告条细节,需定义四个参数,含义如下: 广告图片文件名。用来指定广告图片文件的虚拟路径和文件名。 广告客户网页的 URL 。用来指定单击广告图片时,跳转到的 URL ,用“ -” 表示该广告没有链接。 广告说明文本。用来指定浏览器不支持图片时显示的说明文本。广告出现次数比例。用来指出此广告条出现的比例,假设有三个广告条,广告出现比例分别设置为 2 、 3 和 5 ,那么用户访问该网页时,有 20% 可能出现第一幅广告,有 30% 可能出现第二幅广告,有 50%可能出现第三幅广告。

Page 18: ASP 动态网页设计技术

说明 当用户单击广告图片时,浏览器将会自动定向到

广告网页重定向文件,并且向该文件传送被点击广告的 URL 地址,在广告网页重定向文件中,可通过 Request 的 QueryString 集合取得该 URL 地址。

5.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

Page 19: ASP 动态网页设计技术

( 2 )再次启动记事本,在其中输入如下代码,并把它保存到 D:\ASPExample\ch05\Task5_1 文件夹下,取名为 Task5_1.asp ,该文件为广告图片显示网页。

5.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

Page 20: 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>

Page 21: ASP 动态网页设计技术

说明   ①该网页首先使用 Server.Createobject 方法创建了一个 Ad

Rotator 对象,然后调用该对象的 GetAdvertisement 方法从广告轮换文件获取随机广告并显示出来。网页的最后还制作了一个超链接,链接到显示各广告被用户点击次数的网页。  ②创建广告轮显组件的一般格式如下:    Set 变量名 =Server.Createobject("MSWC.AdRotator")

  其中,变量名用来存放要创建的广告轮显组件对象,参数MSWC.AdRotator 是广告轮显组件的类名。

  ③获取随机广告可使用广告轮显组件的 GetAdvertisement 方法,调用该方法的一般格式如下。

    对象名 . GetAdvertisement(" 广告轮换计划文件名 ")

  其中,对象名为广告轮显组件对象名。

5.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

Page 22: ASP 动态网页设计技术

( 3 )启动浏览器,在地址栏输入: http://LocalHost/ASPE/CH05/Task5_1/Task5_1.ASP 后按回车键,将会出现类似于如图 5-4 所示的显示广告图片网页,但显示的广告图片可能不一样,例如图 5-6 就是某一次访问该网页时出现的广告图片。不过此时单击图片及图片下的超链接,均会出现找不到网页的错误,原因是相应的网页并没有编写。

5.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

Page 23: ASP 动态网页设计技术

图 5-6 显示广告图片网页的某一次访问情况

Page 24: ASP 动态网页设计技术

( 4 )再次启动记事本,在其中输入如下代码,并把它保存到 D:\ASPExample\ch05\Task5_1 文件夹下,取名为Task5_1_NumAdd.asp ,该文件为广告网页重定向文件。

5.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

<html> <head> <title> 为点击网页增加次数 </title> </head> <body> <% dim strURL strURL=Request.QueryString("url") Select Case lcase(strURL)

Page 25: ASP 动态网页设计技术

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>

Page 26: ASP 动态网页设计技术

  ( 5 )启动浏览器,在地址栏输入: http://LocalHost/ASPE/CH05/Task5_1/Task5_1.ASP 后按回车键,将会出现类似于如图 5-4 所示的显示广告图片网页。此时单击图片会跳转到与该广告图片对应的网站,但单击广告图片下面的超链接,依然显示不出广告被点击的次数。

  ( 6 )再次启动记事本,在其中输入如下代码,并把它保存到 D:\ASPExample\ch05\Task5_1 文件夹下,取名为 Task5_1_HitsNum.asp ,该文件为显示广告点击次数网页文件。

5.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

Page 27: 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>

Page 28: ASP 动态网页设计技术

  ( 7 )启动浏览器,在地址栏输入: http://LocalHost/ASPE/CH05/Task5_1/Task5_1.ASP 后按回车键,将会出现类似于如图 5-4 所示的显示广告图片网页。此时单击广告图片会跳转到与该广告图片对应的网站。多次刷新并单击广告图片,然后再单击广告图片下图的超链接,将会显示出类似于图 5-5 所示的显示广告点击次数的网页。至此本任务顺利完成。

5.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

Page 29: ASP 动态网页设计技术

归纳说明:   本任务共涉及到了六个文件,其作用如下:    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.2 任务 5-1 :广告轮显网页——广告轮显组件Ad Rotator

Page 30: ASP 动态网页设计技术

任务 5-2 描述:   为图书馆网站增添热点书推荐功能。当用户

要查看热点书推荐时,首先在浏览器中出现如图5-7 所示的热点书推荐目录网页,单击相应的书目超链接,将会出现相应类的热点书推荐。图5-8 就是单击“计算机书目”超链接后显示出来的计算机热点书推荐网页。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

Page 31: ASP 动态网页设计技术

图 5-7 热点书推荐目录网页

图 5-8 计算机热点书推荐网页

Page 32: ASP 动态网页设计技术

任务分析: 可使用 ASP 的两个内置组件实现本任务的功能:

内容链接组件 Content Linking 用来实现热点书推荐中各种书目的导航;网页计数器组件PageCounter 用来统计该网页被访问的次数。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

Page 33: ASP 动态网页设计技术

任务实现:  ( 1 )启动记事本,在其中输入下列文本,然后把它

保存到 D:\ASPExample\ch05\task5_2 文件夹下,取名为 BookPageList.txt ,该文件为内容链接文件。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

ComputerNewBook.asp 计算机书目 2006-8-29 编EnglishNewBook.asp 英语书目 2006-8-29 编ArticleNewBook.asp 文学书目 2006-8-29 编

Page 34: ASP 动态网页设计技术

说明   ①内容链接文件的格式非常重要,不能随意更改。

该文件由三列组成,分别是网页 URL 列、说明列和注释列。网页 URL 列列出可浏览的网页 URL ;说明列列出与网页相关的说明文字;注释列用于对本列进行注释,是可选的。

   ②内容链接文件的各列之间用 Tab制表位分开,并且两列之间只能有一个 Tab制表位,在每一行的结尾按回车键换行,网页 URL 前不需带前缀 http:// 。

   ③内容链接文件中的每一行称为一项,每一项与一个网页文件联系在一起,项的顺序也决定了相应网页的导航顺序。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

Page 35: ASP 动态网页设计技术

任务 5-2 描述:   为图书馆网站增添热点书推荐功能。当

用户要查看热点书推荐时,首先在浏览器中出现如图 5-7 所示的热点书推荐目录网页,单击相应的书目超链接,将会出现相应类的热点书推荐。图 5-8 就是单击“计算机书目”超链接后显示出来的计算机热点书推荐网页。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

Page 36: ASP 动态网页设计技术

图 5-7 热点书推荐目录网页

图 5-8 计算机热点书推荐网页

Page 37: ASP 动态网页设计技术

任务分析:   可使用 ASP 的两个内置组件实现本任务

的功能:内容链接组件 Content Linking 用来实现热点书推荐中各种书目的导航;网页计数器组件 PageCounter 用来统计该网页被访问的次数。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

Page 38: ASP 动态网页设计技术

任务实现 : ( 1 )启动记事本,在其中输入下列文本,然后把它保

存到 D:\ASPExample\ch05\task5_2 文件夹下,取名为BookPageList.txt ,该文件为内容链接文件。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

ComputerNewBook.asp 计算机书目 2006-8-29 编EnglishNewBook.asp 英语书目 2006-8-29 编ArticleNewBook.asp 文学书目 2006-8-29 编MusicNewBook.asp 音乐书目 2006-8-29 编

Page 39: ASP 动态网页设计技术

说明   ①内容链接文件的格式非常重要,不能随意更改。

该文件由三列组成,分别是网页 URL 列、说明列和注释列。网页 URL 列列出可浏览的网页 URL ;说明列列出与网页相关的说明文字;注释列用于对本列进行注释,是可选的。

   ②内容链接文件的各列之间用 Tab制表位分开,并且两列之间只能有一个 Tab制表位,在每一行的结尾按回车键换行,网页 URL 前不需带前缀 http:// 。

   ③内容链接文件中的每一行称为一项,每一项与一个网页文件联系在一起,项的顺序也决定了相应网页的导航顺序。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

Page 40: ASP 动态网页设计技术

任务实现 :   ( 2 )在记事本中新建一个文本文件,在其中输入

下列代码。然后把它保存到 D:\ASPExample\ch05\task5_2 文件夹下,取名为 ComputerNewBook.asp ,该文件为计算机新书通报网页。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

Page 41: 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>

Page 42: ASP 动态网页设计技术

  ( 3 )启动浏览器,在地址栏中输入 http://LocalHost/ASPE/CH05/Task5_2/Computer NewBook.ASP后按回车键,将会出现类似于如图 5-8 所示的计算机热点书推荐网页。

  ( 4 )重复( 2 )和( 3 ),编写英语热点书推荐、文学热点书推荐和音乐热点书推荐等网页,并在浏览器中浏览调试。代码基本相似,不再给出。

  ( 5 )再次启动记事本,在其中输入下述代码并保存到 D:\ASPExample\ch05\task5_2 文件夹下,取名为 Task5_2.asp ,该文件为图书馆新书通报网页。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

Page 43: 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 ' 存放页面计数器的变量

Page 44: ASP 动态网页设计技术

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)

Page 45: ASP 动态网页设计技术

' 以下为输出超链接的标记 Response.Write "<A Href ='" & LinkURL & "'>" Response.Write LinkDescription & "</A>" & "&nbsp;&nbsp;&nbsp;&nbsp;" 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>

Page 46: ASP 动态网页设计技术

说明   ①上述代码首先生成内容链接组件对象,然后获取内容链接文件中项的数目,接着通过一个循环,在循环中依次获取内容链接文件中各项的说明文字和网页 URL ,并以说明文字作为链接文本,以网页 URL作为链接地址做成超链接。最后生成页面计数器对象,并显示出页面被访问的次数。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

Page 47: ASP 动态网页设计技术

说明   ②内容链接组件在使用之前必须创建相应的对象,

创建内容链接组件对象的一般格式如下:   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

Page 48: ASP 动态网页设计技术
Page 49: ASP 动态网页设计技术

说明   ④创建网页计数器组件对象的一般格式如下:     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

Page 50: ASP 动态网页设计技术

 ( 6 )启动浏览器,在地址栏中输入 http://LocalHost/ASPE/CH05/Task5_2/Task5_2.ASP 后按回车键,将会出现 5-7 所示的网页,单击相应的超链接,将会出现相应类的热点书推荐网页。至此,本任务顺利完成。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

Page 51: ASP 动态网页设计技术

归纳说明:   使用内容链接组件进行网页导航,首先应编制好各个需要导航的网页,如本例先制作好了四类图书的热点书推荐网页。接着应编制一个内容链接文件,该文件是一个文本文件,在该文件中按网页的导航顺序把各网页排列成若干项。最后还要创建一个导航网页,在导航网页中应生成一个内容链接组件对象,通过调用该组件的方法就可以获得内容链接文件中各项的网页 URL 和说明文字,从而可以进行导航。

5.3 任务 5-2 :图书馆热点书推荐——内容链接组件

Content Linking 和网页计数器组件 PageCounter

Page 52: ASP 动态网页设计技术

概述 文件存取组件的功能是对计算机的文件系统进行操作,如创建文件或目录、复制文件或目录、删除文件或目录、读取文件中的内容、把信息写入文件、获取驱动器信息、获取目录信息等。利用文件存取组件对文件进行操作主要用到一些对象及其方法,经常使用的对象有:FileSystemObject 对象、 TextStream 对象、 File 对象、 Folder 对象、 Drive 对象等。使用文件存取组件也和使用其他组件一样,首先必须创建文件存取组件的对象实例,然后再调用该对象的方法。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 53: ASP 动态网页设计技术

任务 5-3 描述:   为图书馆网站增添“馆长意见簿”功能,用户

访问馆长意见簿时,将会出现如图 5-9 所示的意见输入与提交网页。用户输入意见后单击“提交”按钮,如果提交成功将会出现如图 5-10 所示提示网页。如果用户输入意见时,有的项没有填写,将会出现如图 5-11 所示的网页。在图 5-9 所示的网页上单击“意见浏览”超链接,将会出现如图 5-12 所示的意见显示网页,显示出所有用户提交的意见。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 54: ASP 动态网页设计技术

图 5-9 意见输入与提交网页

图 5-10 意见提交成功提示网页

图 5-11 意见中有空项时的提示网页

Page 55: ASP 动态网页设计技术

图 5-10 意见显示网页

Page 56: ASP 动态网页设计技术

任务分析:   可使用一个文本文件存放用户提交的意见。意见提交网页可通过表单来实现,在表单处理程序中判断用户输入的信息是否有空项,如果有空项,则要求重输。如果没有空项,则根据用户输入的各项信息,形成符合意见显示格式的文本,添加到存放意见的文本文件中。当要浏览用户提交的意见时,只需要把该文本文件显示出来即可。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 57: ASP 动态网页设计技术

<HTML> <HEAD><TITLE> 馆长意见簿 </TITLE></HEAD> <BODY Bgcolor=LightYellow> <center><FONT size=5 face= 华文彩云 color= blue> 馆长意见簿</FONT><HR> <FORM action=AddAdvice.asp method=post> <TABLE width=600> <TR><TD> 姓名: </TD><TD><INPUT type=text name=YourName size=20></TD></TR> <TR><TD> 单位: </TD><TD><INPUT type=text name=Department size=40></TD></TR> <TR><TD> 主题: </TD><TD><INPUT type=text name=Subject size=61></TD></TR> <TR><TD> 电话: </TD><TD><INPUT type=text name=Telephone size=15></TD></TR> <TR><TD valign=top> 意见: </TD> <TD><TEXTAREA name=Advice rows=6 cols=60></TEXTAREA></TD></TR> <TR><TD>&nbsp; </TD>

Page 58: ASP 动态网页设计技术

<TD><INPUT type=submit value= 提交>&nbsp;&nbsp;&nbsp; <INPUT type=reset value= 重写>&nbsp;&nbsp;&nbsp; <A href=BrowseAdvice.asp> 意见浏览 </A></TD></TR> </TABLE> </FORM> </BODY></HTML>

Page 59: ASP 动态网页设计技术

任务实现:   ( 1 )启动记事本,在记事本中输

入如下代码,并把它保存到 D:\ASPExample\ch05\Task5_3 文件夹下,取名为 Task5_3.asp 。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 60: ASP 动态网页设计技术

  ( 2 )启动浏览器,在地址栏中输入http://LocalHost/ASPE/CH05/Task5_3/Task5_3.ASP 后按回车键,将会出现 5-9 所示的网页。输入信息后单击“提交”按钮或单击“浏览意见”超链接,都会出现找不到网页的错误,原因是 AddAdvice.asp 网页及BrowseAdvice.asp 网页还都没有编制。  ( 3 )再次启动记事本,在记事本中输入

如下代码,并把它保存到 D:\ASPExample\ch05\Task5_3 文件夹下,取名为AddAdvice.asp 。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 61: ASP 动态网页设计技术

<HTML> <HEAD><TITLE> 添加意见 </TITLE></HEAD> <BODY><% ' 定义相关变量、文件系统对象等 Dim YourName, DepartMent, Subject, Telephone,Advice Dim StrYourName,StrDepartment,StrSubject,StrTelephone,StrAdvice,StrTime,StrTemp Dim objFSO, objFIn, objFOut Dim FileName, BakFileName ' 获取由 Task5_3.asp 页面传送过来的表单数据 YourName = Request.Form("YourName") ' 获取姓名 Department = Request.Form("Department") ' 获取单位

Page 62: ASP 动态网页设计技术

Subject = Request.Form("Subject") ' 获取主题 Telephone=Request.Form("Telephone") ' 获取电话号码 Advice = Request.Form("Advice") ' 获取意见 ' 判断输入内容是否均不为空,如有一项为空,则回到Task5_3.asp 页面重新输入 If YourName = "" Or Department="" Or Telephone="" Or Subject = "" Or Advice = "" Then Response.Write "<FONT color=red> 对不起,所有项均不能为空白 !</FONT><P>" Response.Write "<A href=Task5_3.asp>返回馆长意见簿</A></BODY></HTML>" Response.End ' 程序结束,以下语句不再执行 End If %> </BODY></HTML>

Page 63: ASP 动态网页设计技术

( 4 )在上述 ASP 代码块的后面继续添加如下代码并保存。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

' 以下几条语句,分别以字符串的形式,生成输入意见的各项信息 StrYourName = " 意见人: " & YourName & "<BR>" StrDepartment = " 单 位 : " & Department & "<BR>" StrSubject = " 主 题: " & Subject & "<BR>" StrTelephone =" 电话号码: " & Telephone & "<BR>" StrAdvice = Replace(Advice, vbCrLf, "<BR>") StrTemp = " 意见: <BR><TABLE width=100% bgcolor=LightBlue><TR><TD>" StrAdvice = StrTemp & StrAdvice & "</TD></TR></TABLE>" StrTime = " 时 间: " & Now()

Page 64: ASP 动态网页设计技术

( 5 )在上述 ASP 代码块的后面继续添加如下代码并保存。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

' 创建文件系统对象,以便进行文件的读写 Set objFSO = Server.CreateObject("Scripting.FileSystemObject") ' 获取 Advice.txt (存放意见的文件)和 BakAdvice.txt (意见备份文件)文件的物理路径 FileName = Server.MapPath("Advice.txt") BakFileName = Server.MapPath("BakAdvice.txt")

Page 65: ASP 动态网页设计技术

说明:   ①上述代码首先调用 Server 对象的

CreateObject 方法生成文件系统对象,然后调用Sever 对象的 MapPath 方法得到存放意见的文件“ Advice.txt” 的物理路径和意见备份文件“ BakAdvice.txt” 的物理路径。

   ②要对文件或目录进行存取操作,必须使用FileSystemObject 对象,创建该对象的一般格式如下。

  变量名 = Server.CreateObject("Scripting.FileSystemObject")

   其中变量名是指存放 FileSystemObject 对象实例的变量。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 66: ASP 动态网页设计技术

说明:   ③上述代码中语句“ Server.MapPath("Advice.txt")”

的作用是获取当前文件夹下的文件 Advice.txt 的物理路径。当在网页中需要打开、复制或删除一个与网页文件处于同一个目录,或处于Web 站点的某一目录中的文件时,需要知道该文件所在的物理目录,此时需使用Server 对象的 MapPath 方法把虚拟路径映射成对应的物理路径。该方法的一般格式如下:

        Server.MapPath("虚拟路径 ")

   它将求出虚拟路径所对应的物理路径。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 67: ASP 动态网页设计技术

( 6 )在上述 ASP 代码块的后面继续添加如下代码并保存。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

' 将信息写入文件前,要将本进程锁定 Application.Lock '判断存放意见的文件是否存在,若存在则把它改名为意见备份文件 if objFSO.FileExists(FileName) then objFSO.MoveFile FileName, BakFileName end if ' 打开意见备份文件,创建存放意见的文件 Set objFIn = objFSO.OpenTextFile(BakFileName, , True) Set objFOut = objFSO.CreateTextFile(FileName) ' 先将本次留言内容写到 Advice.txt 文件中

Page 68: ASP 动态网页设计技术

objFOut.WriteLine StrYourName objFOut.WriteLine StrDepartment objFOut.WriteLine StrSubject objFOut.WriteLine StrTelephone objFOut.WriteLine StrAdvice objFOut.WriteLine StrTime objFOut.WriteLine "<HR>" ' 如果 BakAdvice.txt 文件非空,则将其内容再复制到 Advice.txt 文件中 if not objFIn.AtEndOfStream then objFOut.WriteLine objFIn.ReadAll end if ' 在其后删除 BakAdvice.txt 文件之前,先关闭 BakAdvice.txt 文件 objFIn.Close objFSO.DeleteFile BakFileName, True ' 解除对本进程的锁定 Application.UnLock Response.Write "<FONT color=Blue> 您的意见已提交,感谢您的支持,我们将尽快处理 !</FONT><P>" Response.Write "<A href=Task5_3.asp>返回馆长意见簿 </A></BODY></HTML>"

Page 69: ASP 动态网页设计技术

说明:   ①上述代码首先判断存放意见的文件是否存在,若

存在则把它改名为意见备份文件。接着打开意见备份文件并创建存放意见的文件,然后把前面生成的客户意见的各项信息写到存放意见的文件中去,再向该文件中输出一个 <HR>标记。接着再把意见备份文件中的内容全部复制到意见文件中去。最后删除意见备份文件并显示出“意见正常提交”的提示信息,显示超链接供用户返回到意见输入与提交网页。

   ②上述代码中的代码“ objFSO.FileExists(FileName)” 、“ objFSO.MoveFile FileName, BakFileName” 和“ objFSO.DeleteFile BakFileName, True” 使用了文件系统对象与文件有关的方法 FileExists 、 MoveFile 和 DeleteFile ,它们分别用来判断文件是否存在、移动文件和删除文件。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 70: ASP 动态网页设计技术

说明:   FileExists 方法的一般调用格式如下:    文件系统对象变量名 . FileExists ( " 文件物理路径 " )  若“文件物理路径”指定的文件存在,则返回值为 True ,若“文

件物理路径”指定的文件不存在,则返回值为 False 。  MoveFile 方法的一般调用格式如下:    文件系统对象变量名 . MoveFile(Source,Destination)

   DeleteFile 方法的一般调用格式如下:    文件系统对象变量名 . DeleteFile ( " 文件物理路

径 " , Force )   其作用是删除文件物理路径所指定的一个或多个文件(可包含

文件通配符)。如果可选的参数 Force值为 True ,那么也删除具有只读属性的文件,默认的 Force 参数值为 False 。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 71: ASP 动态网页设计技术

说明:   ③上述代码中还使用了文件系统对象的

OpenTextFile 、 CreateTextFile 、 WriteLine 、 ReadAll 和Close 等方法,并且还使用了文件系统对象的 AtEndOfStream属性,它们都是与 TextStream 对象有关的方法和属性。

    CreateTextFile 方法的一般调用格式如下:       Set TextStream 对象变量名 = 文件系统对象变量名 .            CreateTextFile(FileName,Overwrite,Unicode)   其作用是在磁盘上用指定的文件名 FileName 创建一个新文

本文件,并返回一个与该文件相联系的 TextStream 对象,这样在程序中就可以通过该 TextStream 对象来操作文件,而不需要直接与文件名打交道。参数 Overwrite 为可选参数,如果它的值为 True ,将覆盖具有同样路径的同名文件,默认的 Overwrite的值为 False 。参数 Unicode 也是可选参数,如果把它的值设置为 True ,则文件内容将存储为 Unicode格式。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 72: ASP 动态网页设计技术

说明:   OpenTextFile 方法的一般调用格式如下:    Set TextStream 对象变量名 =    文件系统对象变量名 .        OpenTextFile(FileName,IOMode,Create,Format)   其作用是打开或创建(如果文件不存在)由参数 FileName作为

文件名指定的文件,并且返回与该文件对应的 TextStream 对象。参数 IOMode 用来说明访问类型,取值有 ForReading ( 1——默认)、 ForWriting(2) 、 ForAppending ( 8 )。写入或追加到一个不存在的文件时,如果 Create 参数设置为 True ,将创建一个新文件, Create 参数的默认值为 False 。 Format 参数用来说明读或写文件时使用的数据格式,取值有 TristateFalse ( 0——默认,代表ASCII 码数据格式)、 TristateTrue ( -1 ,代表 Unicode 码数据格式)、 TristateUseDefault ( -2 ,代表使用系统默认的数据格式)。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 73: ASP 动态网页设计技术

说明:  WriteLine 方法的一般调用格式如下:     TextStream 对象 .WriteLine(S)   其中,参数 S 是一个字符串,其作用是向与 TextStream 对

象相联系的文件中写入字符串 S 和一个换行符。   ReadAll 方法的一般调用格式如下:     TextStream 对象 .ReadAll   其作用是读取与 TextStream 对象相联系的文件中的所有内容,并作为一个字符串返回。

   Close 方法的一般调用格式如下:     TextStream 对象 .Close   其作用是关闭与 TextStream 对象相对应的文件,切断

TextStream 对象与物理文件的联系。    AtEndOfStream属性的作用是指示文件位置指针是否处于文

件尾,如果处于文件尾则返回 True ,否则返回 False 。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 74: ASP 动态网页设计技术

( 6 )启动浏览器,在地址栏中输入 http://LocalHost/ASPE/CH05/Task5_3/Task5_3.ASP 后按回车键,将会出现 5-9 所示的网页。输入信息时有意不填某一项,然后单击“提交”按钮,将会出现如图 5-11 所示的页面。各项均填写后单击“提交按钮”,将会出现如图 5-10 所示的网页。此时单击“浏览意见”超链接,还会出现找不到网页的错误,原因是 BrowseAdvice.asp 网页还没有编制。

( 7 )再次启动记事本,在记事本中输入如下代码,并把它保存到 D:\ASPExample\ch05\Task5_3 文件夹下,取名为 AddAdvice.asp 。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 75: ASP 动态网页设计技术

<HTML> <HEAD><TITLE> 意见显示 </TITLE></HEAD> <BODY bgColor=LightYellow> <CENTER><FONT size=5 face= 华文彩云 color= blue> 意 见 显 示 </FONT> </CENTER><HR> <!-- 下一条语句将存放意见的文件 Advice.txt 文件包含在本文件内 --> <!--#include file="Advice.txt" --> <A href="Task5_3.asp"><P align=center>返回意见簿 </P></A> </BODY></HTML>

Page 76: ASP 动态网页设计技术

说明:   ①代码中语句“ <!--#include file="Advice.txt" -->” 的作用是

用文本文件 Advice.txt 中的内容替换该语句。语句中的 #include是一条包含命令,其作用是把相应的文件内容包含到当前文件中来,包含的文件类型可以是 .htm 、 asp 、 txt 等文件。使用包含文件可以减少编写程序的工作量,增加文件的可读性。

   包含文件命令的一般格式如下:       <!--#Include File=" 文件名 "-->       或       <!--#Include Virtual=" 文件名 "-->   该命令的功能是在当前 ASP 文件中包含一个文件,并与当前

ASP 文件同时执行。采用 File 和 Virtual 的差别在于 file 使用相对路径,而 Virtual 使用站点内的虚拟目录的完整路径。例如:

       <!--#include file="Advice.txt" -->        也可以写成:       <!--#include Virtual="/ch05/task5_3/Advice.txt" -->

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 77: ASP 动态网页设计技术

  ( 8 )再次如步骤( 6 )所述运行网页,在图5-9 所示的网页上单击“意见浏览”超链接,将会出现如图 5-10 所示的意见显示网页。至此,本任务全部完成。  

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access

Page 78: ASP 动态网页设计技术

归纳说明:   本任务编写了三个网页,网页 Task5_3.asp 显示一个表单,用

来供用户输入和提交数据;网页 AddAdvice.asp 是表单处理文件,在该文件中判断用户输入的数据是否完整,如果完整则把它添加到存放用户意见的文本文件的开头;网页 BrowseAdvice.asp 的作用是把存放用户意见的文本文件内容显示出来。在 AddAdvice.asp 网页代码中,用户需特别注意两个问题:一是意见存放的格式,是以HTML格式文本存放,这样把它直接包含到 HTML 文档中,就可以显示出来;二是意见添加到文本文件中的方法,本任务采用了一个技巧,就是先把原来的存放意见的文本文件备份成另一个文件,然后把当前意见写入存放意见的文本文件中,再把备份文件中的所有内容读出来并添加到存放意见的文本文件之后。

5.4 任务 5-3 :馆长意见簿——文件存取组件 File

Access