«
ASP入门基础教程-使用计数据组件

时间:2008-5-31    作者:Deri    分类: 分享


   <p>   页面计数器 (Page Counter) 组件用于统计每个网页被访问的次数,该组件定期把统计的数据存入服务器磁盘上的一个文本文件---------访问次数统计数据文件中,所以在停机或出现错误信息时,当前数据也不会丢失。</p><p>   1、创建页面计数器组件的实例对象</p><p>   页面计数器组件包含在 pagecnt.dll 文件中。当使用 Server.CreatObject 方法在一页上创建页面计数器组件对象的实例时,此对象从中心管理对象中为指定的 Web 页获取其当前的访问次数,然后就可以使用此对象已有的方法来操作了。语法格式如下:</p><code>Set 实例对象名=Server.CreateObject("MSWC.PageCounter")</code><p>  2、Page Counter 对象的方法</p><p>   Page Counter 对象提供了向“访问次数统计数据文件”增加访问次数的方法以及读取和重新设置访问计数总和的方法。各方法的描述见下表:</p><table><tr><td>方  法 </td><td>描   述 </td><td>语 法 格 式 </td></tr><tr><td> Hits</td><td>返回由 Page_Path 指定的网页的访问次数,如果省略 Page_Path,返回当前网页的访问次数。</td><td> Object.Hits([Page_Path]) </td></tr><tr><td> PageHite</td><td>增加当前网页的访问次数。 </td><td> Object.PageHit</td></tr><tr><td> Reset</td><td>设置由Page_Path 指定的网页的访问次数为0,如果省略Page_Path,设置当前网页的访问次数为0。</td><td> Reset([Page_Path])</td></tr></table><p>  3、实例1:使用页面计数器组件创建网页计数器。 </p><p>  -------------------PageCounter.asp 代码如下----------------------</p><code><%<br />Set MyPageCounter=Server.CreateObject("MSWC.PageCounter")      '创建 PageCounter 对象实例。<br />MyPageCounter.PageHit                                    '增加此网页的计数器值。<br />if Request("reset")="on" then                                 '是否提交重置信息。<br />MyPageCounter.Reset()                                     '重置此网页的计数器。<br />end if<br />%><br /><html><br /><head><title>页面计数器示例</title></head><br /><body><br /><p><center><b><br /><font face="华文彩云" size="50" color="#cc9999">这个Web 页被浏览了<%=MyPageCounter.Hits %>次。</font><br /></b></center></p><br /><center><Form name="PageCounter" method="get" action="PageCounter.asp"><br /><input type="Submit" value="点击网页"><br /><input type="checkbox" name="reset">重置网页计数器<br /></center><br /></form><br /></body><br /></html></code><p>   计数器组件(Counters) 用于创建一个 Counters 对象实例。在一个 Web 站点上仅创建一个 Counters 对象,通过该对象可以创建任意数量的独立计数器。计数器是一个包含整数的持续值,可以使用计数器组件的方法来控制计数器。</p><p>   1、创建计数器组件的实例对象</p><p>   计数器组件包含在 Counters.dll 文件中,通过该组件创建的所有计数器都存储在一个名为 Counters.txt 的文本文件中。如果将下面的内容加入到应用程序的 global.asa 文件中,可以在 Web 服务器上一次性创建 Counters 对象的实例。</p><code><OBJECT RUNAT="Server" SCOPE="Application" ID="Counter" PROGID="MSWC.Counters"></OBJECT></code><p>   一旦创建了计数器对象,它将一直持续下去直到被删除为止,可以在整个应用程序范围内使用该对象的方法对计数器进行控制。例如,如果在一个名为 Page1.asp 的页上显示和增加一个叫做 HitCount 的计数器的值,而又在一个叫做 Page2.asp 的页上增加 HitCount 的值则两页将增加同一计数器的值。如果访问 Page1.asp 时,计数器的值增加到34,则访问 Page2.asp 会将 HitCount 增加到35,下一次访问 Page1.asp ,HitCount 将增加到36。</p><p>  2、Counters 对象的方法</p><p>   创建一个计数器对象之后,可以使用该对象的方法返回计数器的值,使计数器的值加1,从 counters.txt 文件中删除计数器以及将计数器的值设为一个特定的整数。各方法的描述见下表:</p><table><tr><td>方  法 </td><td>描   述 </td><td>语 法 格 式 </td></tr><tr><td> Get </td><td>该方法根据计数器的名称返回其当前值,如果此计数器不存在,则该方法创建它并将其置加0。</td><td> Counters.Get(CounterName) </td></tr><tr><td> Increment </td><td>该方法根据计数器的名称,将该计数器的值加 1 并返回计数器的新值。如果该计数器不存在,此方法将创建它并将其值设为1。</td><td> Counters.Increment(CounterName) </td></tr><tr><td> Remove </td><td>该方法根据计数器的名称从计数器对象和 counters.txt 文件中删除计数器。</td><td> Counters.Remove(CounterName) </td></tr><tr><td> Set </td><td>该方法根据计数器的名称,将计数器设置为一个指定的整数值并返回此新值。如果该计数器不存在,此方法创建计数器并将其值设为这个整数。</td><td> Counters.Set(CounterName,int)</td></tr></table><p>  注:参数 CounterName 是一个字符串,用于指定计数器的名称。参数 int 指定该计数器的新整数值。</p><p>  3、实例1:使用计数器组件设计一个对歌手投票的记票系统。 </p><p>  -------------------global.asa 代码如下----------------------</p><p>  '通过<OBJECT>在 Web 服务器上一次性创建一个 Counters 对象。</p><code><OBJECT RUNAT="Server" SCOPE="Application" ID="Counters" PROGID="MSWC.Counters"></OBJECT></code><p>  -------------------提交表单1.asp 代码如下----------------------</p><code><HTML><br /><HEAD><TITLE>选出您最喜欢的歌手</TITLE><br /><%<br />Session("counter")=Session("counter")+1<br />if Session("counter")>1 then<br />a="1.asp"<br />response.write "您已经投过票了。谢谢!"<br />else<br />a="2.asp"<br />end if<br />%><br /></HEAD><br /><BODY><br /><Form NAME="Form1" METHOD="POST" action=<%=a %>><br /><P><CENTER>从下列候选人中选择一个您最喜欢的歌手<hr width="70%" color="#cc9999"><br /><p><input type="radio" name="singer" value="a">小郎&nbsp;&nbsp;<br /><input type="radio" name="singer" value="b">冬天&nbsp;&nbsp;<br /><input type="radio" name="singer" value="c">一笑&nbsp;&nbsp;<br /><input type="radio" name="singer" value="d">焉然&nbsp;&nbsp;<br /><input type="submit" name="submit1" value="提交"></center><br /></form><br /></body><br /></html></code><p>  -------------------统计票数2.asp 代码如下----------------------</p><code><% @ language="VBScript" %><br /><html><br /><head><title>投票结果统计</title><br /></head><br /><body><br /><%<br />Singer=Request.Form("singer")<br />select case Singer<br />Case "a"<br />Counters.Increment("aaaaCounter")<br />Case "b"<br />counters.Increment("bbbbCounter")<br />Case "c"<br />counters.Increment("ccccCounter")<br />Case "d"<br />Counters.Increment("ddddCounter")<br />end select<br />%><br /><div align="center"><br /><h3>当前投票结果如下:</h3><br /><hr width="50%" color="#cc9999"><br /><p>aaaa得票数:<%=counters.Get("aaaaCounter") %><br /><p>bbbb得票数:<%=counters.Get("bbbbCounter") %><br /><p>cccc得票数:<%=counters.Get("ccccCounter") %><br /><p>dddd得票数:<%=counters.Get("ddddCounter") %><br /><p><p><a href="1.asp">返回上一页</a><br /></div><br /></body><br /></html></code><p>  <img src="/content/uploadfile/200805/2008053117004081.gif" onclick="get_larger(this)" /><a href="http://tech.ddvip.com/2006-10/11618046459861.html" target="_blank">查看全套"ASP入门基础"教程>>>>></a></p>