ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 动态网站设计十八般武艺——ASP篇(十三)(转)

动态网站设计十八般武艺——ASP篇(十三)(转)

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-01-11 17:36:04 0 删除 编辑
从今天开始我们将正式学习ASP的精华部分--ActiveX组件。事实上,当你用ASP编写服务器端应用程序时,必须依靠ActiveX组件来强大Web应用程序的功能,譬如:你需要连接数据库,对数据库进行在线操作或者对WEB服务器上的文件系统进行操作,亦或你需要一个WEB广告交换程序,所有这一切你都必须通过调用ASP内建的ActiveX组件或自己编写所需的组件来完成。

  那么,究竟什么是ActiveX组件呢?它又是如何运作的呢?其实ActiveX组件是一个存在于WEB服务器上的文件,该文件包含执行某项或一组任务的代码,组件可以执行公用任务,这样就不必自己去创建执行这些任务的代码。例如,股票行情收报机组件可以在Web页上显示最新的股票报价。当你在WEB服务器上安装完ASP环境后,就可以直接使用它自带的几个常用组件,如Database Access组件。当然你也可以从第三方开发者处获得可选的组件,也可以编写自己的组件。你可以利用组件作为脚本和基于Web应用程序的基本构造块,只要知道如何访问组件提供的对象,即使你是位编写脚本的新手,也可以在不了解组件运作方式的情况下编写ASP程序。总而言之,ActiveX组件使您不用学习复杂的编程就能够写出强大的WEB服务器端脚本。如果您是位Web应用程序的开发者,可以使用任何支持组件对象模型(COM)的语言来编写组件,如,C、C++、Java或Visual Basic。如果你熟悉COM编程,ActiveX组件就是Automation服务器。但是要在Web服务器上运行,ActiveX组件不能有图形用户接口元素,如Visual Basic的MsgBox函数。组件是可以重复使用的。在Web服务器上安装了组件后,就可以从ASP脚本、ISAPI应用程序、服务器上的其他组件或由另一种COM兼容语言编写的程序中调用该组件。

  那么我们在ASP中应该如何调用组件呢?如前所述,组件是包含在动态链接库(.dll)或可执行文件(.exe)中的可执行代码。组件可以提供一个或多个对象以及对象的方法和属性。要使用组件提供的对象,我们首先要创建对象的实例并将这个新的实例分配变量名。使用ASP的Server.CreateObject方法可以创建对象的实例。接着,使用脚本语言的变量分配指令为对象实例命名。创建对象实例时,必须提供实例的注册名称“PROGID”。如下要创建一个AdRotator对象的实例:

  <%Set MyAds=Server.CreateObject("MSWC.AdRotator")%>

  我们必须使用ASP的Server.CreateObject方法来创建对象实例,否者ASP无法跟踪脚本语言中对象的使用。

  使用HTML标签同样可以创建对象实例,但必须为RUNAT属性提供服务器值,同时也要为将在脚本语言中使用的变量名提供ID属性组。使用注册名(PROGID)或注册号码(CLSID)可以识别该对象。下面的例子使用注册名(PROGID)创建AdRotator对象的实例:

  

  下面列出了ASP可安装的常用组件。 Ad Rotator 创建一个AdRotator对象,该对象可按指定计划在同一页上自动轮换显示广告。
Browser Capabilities 创建一个BrowserType对象,该对象决定访问Web站点的每个浏览器的性能、类型及版本。
Database Access 提供用ActiveXDataObjects(ADO)对数据库的访问。
Content Linking 创建一个NextLink对象,该对象可生成Web页内容列表,并象书一样将各页顺续连接。
File Access组件 提供文件的输入输出访问。
Collaboration Data Objects for NTS组件 可以快速、简便的在Web页上添加收发邮件功能。该组件只适用于InternetInformationServerforWindowsNT?Server。
My Info 创建一个MyInfo对象,该对象追踪个人信息,例如站点管理员的姓名、地址及显示选择。
Counters 创建一个Counters对象,该对象可以创建、保存、增加或检索任意数量的独立计数器。
Content Rotator 自动翻转Web主页上的HTML内容字符串。
Page Counter 记录并显示Web页被打开的次数。


  现在WEB广告几乎充斥了整个网络,那么究竟如何在你自己的网站上建立一个符合广告领域标准功能的广告系统呢?答案是利用ASP AD Rotator组件!它允许在每次访问ASP页面时在页面上显示新的广告,并且提供了很强的功能,例如:旋转显示在页面上的广告图象的能力、跟踪特定广告显示次数的能力以及跟踪客户端在广告上单击次数的能力。AD Rotator组件的工作是通过读取AD Rotator计划文件来完成的,该文件包括与要显示的图象文件的地点有关的信息以及每个图象的不同属性,下面就是一个标准的AD Rotator计划文件:
---ADROT.TXT---
REDIRECT /scripts/adredir.asp
WIDTH 440
HEIGHT 60
BORDER 1
*
ads/homepage/chinabyte.gif
http://www.chinabyte.com/
Check out the IT site
2
ads/homepage/gamichlg.gif
-
Sponsored by Flyteworks
3
ads/homepage/asp.gif
http://www.aspallian.com/
Good ASP site on net
3
ads/homepage/spranklg.gif
http://www.clocktower.com/
The #1 Sports site on the net
2


  该段代码的前四行包含广告的全局设置。Redirect行指出广告将成为其热连接的URL,注意这里不是为广告本身指定的URL,而是将调用的中间页面的URL,这样我们就可以通过这个中间页面跟踪单击广告的次数。该RedirectURL将与包含两个参数的查询字符串一起调用:特定广告主页的URL和图象文件的URL。星号上面的其余三行简单说明如何显示广告。前两行以像素为单位指定网页上广告的宽度和高度,默认值是440和60个像素。后一行,同样是以像素为单位指定广告四周超链接的边框宽度,默认值是1个像素。如果将该参数设置为0,则将没有边框。

  星号下面的行以每四行为一个单位描述每个广告的细节。在此例中共有16行,描述四个广告。每个广告的描述包含图象文件的URL、广告的主页URL(如果广告客户没有主页,请在该行写上一个连字符“-”,指出该广告没有链接)和图象的替代文字以及指定该页与其他页交替显示频率的数值。

  图象是重定向页面的热连接,它在查询字符串中设置了两个值,url=/scripts/adredir.asp以及image=/ads/homepage/asp.gif。要确定广告显示的频率,可以将计划文件中所有广告的权值相加,在该例中总数是10,那么aspallian的广告权值为3,这意味着Ad Rotator组件每调用十次,它则显示3次。

  重定向文件是用户创建的文件。它通常包含用来解析由Ad Rotator对象发送的查询字符串的脚本并将用户重定向到与用户所单击的广告所相关的URL。用户也可以将脚本包含进重定向文件中,以便统计单击某一特定广告的用户的数目并将这一信息保存到服务器上的某一文件中。增加计数器和重定向用户是通过下面两行ASP脚本来实现的:
<%
Counter.Increment(request.querystring("url"))
response.redirect(request.querystring("url"))
%>


  现在我们看一下Ad Rotator组件是如何在页面中使用的,首先必须使用Server.CreateObject方法实例化Ad Rotator对象。AdRotator组件的PROGID属性是MSWC.AdRotator。完整的代码如下:
<%Set ad=Server.CreateObject("MSWC.AdRotator")%>
<%=ad.GetAdvertisement("/ads/adrot.txt")%>


  AdRotator组件支持的唯一方法是GetAdvertisement,它只有一个参数:AdRotator计划文件的名称。注意指向文件的路径是从当前虚拟目录的相对路径,物理路径是不允许的。GetAdvertisement方法从Rotator计划文件中获取下一个计划广告的详细说明并将其格式化为HTML格式。下面的HTML由GetAdvertisement方法生成且被添加到网页的输出中,以便显示Rotator计划文件中的下一个广告。
SRC="http://www.chinabyte.com/ads/homepage/asp.gif" ALT="Good ASP site on net" WIDTH=440 HEIGHT=60 BORDER=1>


  使用Ad Rotator组件我们可以直接通过对象属性而不是计划文件中的设置来直接控制某些广告特性,其可用属性如下:

  Border指定广告边框的大小。

  Clickable指定广告是否为超链接。

  TargetFrame指定显示广告的框架的名称。
<%
Set ad=Server.CreateObject("MSWC.AdRotator")
ad.Border=0
ad.Clickable=true
ad.TargetFrame=AdFrame
ad.GetAdvertisement("/ads/adrot.txt")
%>


  通过上面的学习,相信你已经能够熟练运用ASP的内建AdRotator组件为自己的网站建立一个标准的广告显示程序了。你是否难以相信一切竟是如此的简单?其实真正能令你震惊的还在后头呢,敬请关注下一篇ASPActiveX组件大揭密!


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-124360/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论