快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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>
返回类别: 教程
上一教程: 调试JS用的对象属性显示器
下一教程: 抓取网页萃取网页内容的代码

您可以阅读与"ASP计数器设计详解-1"相关的教程:
· ASP计数器设计详解-2
· ASP计数器设计详解
· ASP图形计数器设计详解
· 趣味访客计数器设计两则
· ASP实例之计数器程序详解
    微笑服务 优质保证 索取样品