ASP计数器设计详解-1

计数器|设计|详解

  Active Server Pager(动态服务器主页,简称ASP),通过读写服务器的文件,结合script语言(VBscript或Jscript)和html码可以方便地实现页面计数器功能。现流行的ASP教材和网络上的ASP教程都谈到过ASP计数器的设计问题,但是都过于简单,比如没有提到怎样实现计数器脚本和主页面的分离以及图象计数器的实现等。下面就作者为单位制作NT web站点的经验,举实例循序渐进谈谈关于ASP计数器的设计,希望能给ASP的初学者和对ASP WEB编程有兴趣的网友一些启发。

  (一)简单的计数器
  ASP内含五个内置的"Active Server Components"(ActiveX服务器组件),即Database Access component(数据库访问组件)、File Access component(文件访问组件)、Ad Rotator component(广告轮播器组件)、Brower Capabilities component(浏览器信息组件)、Content Linking component(内容链接组件)。我们下面要设计的计数器,就是通过其中的File Access component(文件访问组件)来读写服务器文件来实现。算法思路是:在服务器端用一个文本(ASCII)文件存放计数数值,每当页面被访问时就从文件中读出数值,显示给用户,并且使数值加1,把增加后的数值写回到文件。
  写入数据到一个服务器计数文件的ASP语句和说明如下:
CounFile=Server.MapPath("用来存放计数器值的文件名")
    'Server服务器访问方法MapPath(path)是将存放计数器值的文件所在的路径转换成物理路径
  SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
    '使用方法CreateObject定义对象FileSystemObject
  SET OutStream=Server.CreateTextFile(FileObject,True,False)
    '使用对象FileSystemObject提供方法CreateTextFile产生文本文件,其中参数"True"表示覆盖原来的文件,"False"表示文件为ASCII类型
  OutStream.WriteLine "要写入的数据"
    'OutStream.WriteLine为往文件写入一行数据
  从一个服务器文件读取数据的ASP语法如下:
CounFile=Server.MapPath("用来存放计数器值的文件名")
  SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
  SET InStream=Server.OpenTextFile(FileObject,1,false,false)
  '使用对象FileSystemObject提供方法OpenTextFile产生文本文件,
  '其中参数"True"表示覆盖原来的文件,"False"表示文件为ASCII类型
  "要读取的数据"=InStream.ReadLine
  '其中InStream.ReadLine为从文件中读取的一行数据
  下面是一个用ASP实现页面计数器功能的计数器例子(simplecounter.asp),我在代码中详细注释了语句。你可以把以下代码粘贴到你需要计数的页面代码中。当然,你的服务器必须支持ASP,且你已经在主页所在的目录下创建了一个内容为0的文本文件simplecounter.txt。
  简单的ASP计数器simplecounter.asp代码及注释:
<%
  CountFile=Server.MapPath("simplecounter.txt")
  '文件aspconter.txt是用来储存数字的文本文件,初始内容一般是0
  Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
  Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
  counter=Out.ReadLine
  '读取计数器文件中的值
  Out.Close
  '关闭文件
  SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
  Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
  Application.lock
  '方法Application.lock禁止别的用户更改计数器的值
  counter= counter + 1
  '计数器的值增加1
  Out.WriteLine(counter)
  '把新的计数器值写入文件
  Application.unlock
  '使用方法Application.unlock后,允许别的用户更改计数器的值
  Response.Write("您是第")
  Response.Write("<font color=red>")
  Response.Write(counter)
  '把计数器的值传送到浏览器,以红(red)色显示给用户
  Response.Write("</font>")
  Response.Write("位访问者")
  Out.Close
  '关闭文件
%>

  (二)与页面分离的计数器
  实际应用中,主页面与计数器程序是分离的,既只要在需要计数的页面中加入一句引用代码就可以实现页面计数。我们在网上经常申请使用的免费计数器就是这样,不过它们一般是CGI做的。这里,我们只要稍微修改一下前面我们用ASP做的简单计数器,然后在页面加入一句JavaScript语句引用它,就实现了与页面分离的计数器功能。这样,无论是作为主页面的计数器还是为某个特定页面的计数,都很方便了。显然,你需要简单更改一下存放计数器值的文件名和计数器asp源代码文件名就可以实现多个计数器。
  与页面分离的计数器txtcounter.asp代码:
<%
  CountFile=Server.MapPath("txtcounter.txt")
  Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
  Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
  counter=Out.ReadLine
  Out.Close
  SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
  Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
  Application.lock
  counter= counter + 1
  Out.WriteLine(counter)
  Application.unlock
  Response.Write"document.write("&counter&")"
  '为了在页面正确显示计数器的值,调用VBScript函数Document.write
  Out.Close
  %>
  在要计数的页面加入如下的代码:
  <p>
  您是第
  <font color=red>
  <script language="JavaScript" src="http://202.101.209.75/asptemp/counter/txtcounter.asp";>
  //引用时注意ASP计数器所在的服务器及目录路径。
  </script>
  </font>
  位来客
  </p>

时间: 2025-01-01 07:06:34

ASP计数器设计详解-1的相关文章

ASP计数器设计详解-2

计数器|设计|详解 (三)与页面分离的图象计数器 人们的追求是永无止境的,也许你需要一个更有个性的图形数字计数器,而不是简单的文本数字计数器.没问题,现在我们就来看看用ASP是怎样来实现图形计数器功能的.要实现图形计数器,关键点在于如何实现把计数器文件中的数据值转变为对应的图象表示.因为十进制数有0,1,2,3,4,5,6,7,8,9共十个不同的数数字,我们需要有十个对应的图象,且图象的文件名字要与显示的数字对应起来,比如0对应的数字图象的文件名字就是0.gif,1对应的就是1.gif,...(

ASP计数器设计详解(转载)

计数器|设计|详解 Active Server Pager(动态服务器主页,简称ASP),通过读写服务器的文件,结合script语言(VBscript或Jscript)和html码可以方便地实现页面计数器功能.现流行的ASP教材和网络上的ASP教程都谈到过ASP计数器的设计问题,但是都过于简单,比如没有提到怎样实现计数器脚本和主页面的分离以及图象计数器的实现等.下面就作者为单位制作NT web站点的经验,举实例循序渐进谈谈关于ASP计数器的设计,希望能给ASP的初学者和对ASP WEB编程有兴趣

ASP计数器设计详解

计数器|设计|详解 Active Server Pager(动态服务器主页,简称ASP),通过读写服务器的文件,结合script语言(VBscript或Jscript)和html码可以方便地实现页面计数器功能.现流行的ASP教材和网络上的ASP教程都谈到过ASP计数器的设计问题,但是都过于简单,比如没有提到怎样实现计数器脚本和主页面的分离以及图象计数器的实现等.下面就作者为单位制作NT web站点的经验,举实例循序渐进谈谈关于ASP计数器的设计,希望能给ASP的初学者和对ASP WEB编程有兴趣

ASP图形计数器设计详解

计数器|设计|图形|详解 这里介绍一种不用CGI而设计出的漂亮的图形计数器.这里分为三部分:1,建立图形文件. 2,建立数据库. 3,编写代码.1,建立图形文件. 首先,用做图软件制作10个图形,用于显示计数器的十个数字:1,2,3,4,5,6,7,8,9,0.如果你有美术才能,还能做出更好的图形.2,建立数据库. 用建立一个数据库,名字为.数据库包含一个表,名字为,结构为:整数,有一条记录,初始值为0.用于存放上一次访问本页面的次数.3,编写代码.------number.asp-------

[ASP.NET] Session 详解

asp.net|session|详解 阅读本文章之前的准备 阅读本文章前,需要读者对以下知识有所了解.否则,阅读过程中会在相应的内容上遇到不同程度的问题. 懂得ASP/ASP.NET编程  了解ASP/ASP.NET的Session模型  了解ASP.NET Web应用程序模型  了解ASP.NET Web应用程序配置文件Web.config的作用.意义及使用方法  了解Internet Information Services(以下简称IIS)的基本使用方法  了解如何在Microsoft S

网站页面弹性设计详解

设计|详解|页面 要从固定的.基于像素的设计方法转到弹性的.相对的设计方法并不容易.但是如果恰当利用,就可以成为增强亲和力和易用性的一个自然选择,同时又无须做出设计上的牺牲. 像素是计算机屏幕上的不可缩放的点,而一个 em 就是一个字大小的方块.由于字体大小的变化, em 代表用户喜欢的文字大小的相对单位. 采用印刷式的固定设计方案或许要容易些,因为如果尺寸不变,则考虑的东西就相对较少.可是如果采用弹性的设计方法,就可以充分利用电脑的显示器和浏览器. 也许你想你的网站以某种特定的方式显示,但是你

收藏:ASP的函数详解大汇总

函数|详解 ASP的函数详解 join(expression,"连接符") split :接收相关的参数,使之成为数组. Array() FUNCTION: 返回一个数组 SYNTAX: Array(list) ARGUMENTS: 字符,数字均可 EXAMPLE: RESULT: 建立了一个包含7个元素的数组myArray myArray("Sunday","Monday", ... ... "Saturday") CInt

ASP.NET OutputCache详解

  这篇文章主要介绍了ASP.NET OutputCache详解,本文详细讲解了OutputCache的语法.OutputCache的参数.OutputCache使用示例等内容,需要的朋友可以参考下 当用户访问页面时,整个页面将会被服务器保存在内存中,这样就对页面进行了缓存.当用户再次访问该页,页面不会再次执行数据操作,页面首先会检查服务器中是否存在缓存,如果缓存存在,则直接从缓存中获取页面信息,如果页面不存在,则创建缓存. 页面输出缓存适用于那些数据量较多,而不会进行过多的事件操作的页面,如果

Dubbo架构设计详解

[本文转载于Dubbo架构设计详解] Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色.关于注册中心.协议支持.服务监控等内容,详见后面描述. 总体架构 Dubbo的总体架构,如图所示: Dubbo框架设计