微型机与应用
MICROCOMPUTER & ITS APPLICATIONS
2000 Vol.19 No.2 P.13,54




ASP实现主页计数器的二种方法及其改进
张子贤
摘 要： 以二个具体的程序剖析了利用ASP技术实现主页计数器的原理，并对目前的二种方法进行了适当的改进。
关键词： 主页计数器 Active Server Pages Session组件
　　大多数网站的主页内容少不了3大部件：计数器、留言簿和联系方式如Email地址、联系电话等。然而由于计数器标志着本网站主页被访问的频度，因此在一个网站的主页内容中的位置显得比后二者重要，实现一个美观大方而又有个性的计数器是大多数网站管理员的所求。随着微软的Active Server PagesASP技术的出现，用ASP技术来实现主页计数器则更简单方便，而且其原理也更容易被理解，同时这种方法能够制作出非常漂亮的计数器图片，还可以通过各种条件的设置和相应的判断，经常变换主页计数器，让主页在不同的时刻或者不同的用户访问时显示不同风格的计数器。
　　主页计数器的显示方式有2种：文本显示和图片显示。利用ASP技术实现的主页计数器完全能够满足这2种显示方式，其基本原理如下：通过读取服务器硬盘上相应的计数器文件，把当前的计数值在客户端进行显示，然后对计数器文件的数据进行＋1操作，再写回该计数器文件。在Active Server Pages中可以用2种方法来实现。
　1．方法1省略HTML源码



　　目前的网站计数器或者大多数ASP教程所讲的计数器实现方法大都不会脱离这二个源程序的模式，但是利用这二种方法实现的主页计数器运转起来有一个很明显的特点：只要指向包含该主页计数器文件的程序段的超链被触发，或者说只要该程序段被执行1次，而不管这是不是简单的“返回主页”操作，计数器文件就会自己＋1。这样，主页的计数器就会增加得很快。然而主页计数器的初衷并非如此，因此只要您尚未离开某个网站，您在其中的跳转并不能当作是“再次光临”该网站。针对这个问题，利用Active Server Pages的1个内置的组件Session，对上面2个源程序进行改进，解决了原来程序存在的缺陷。下面是改进后的源程序。
　　3．方法1的改进省略HTML源码


　　这样，通过对ASP的Session组件来判断用户是否仍然在本网站里逗留，从而判断是否应该给计数器文件做＋1操作。这二种改进均能达到避免主页计数器盲目＋1的操作。此外，如果是利用第一种方法来实现主页计数器的话，可以把相关的程序段写到global．asa里，然后直接在程序中进行调用（关于global．asa的知识点这里不进行讨论）。
　　目前，Active Server Pages技术已经在绝大多数的网站中得到广泛地应用，如果能更深入地钻研这方面的技术，相信对网站的开发会有很大的用处。
张子贤（上海同济大学经济与管理学院200092）
收稿日期：1999－08－26
