⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0093.htm

📁 asp教程宝典``还不错
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
    <p align="center"><big><strong>用ASP编写计数器</strong></big></p>

<div align="right">---(文/刘阿骥)</div>
<span class="text">  在网友们编写的主页之中,一般都要用计数器来统计访问量。对于计数器的编写可谓经历了几代的发展,从最初Unix上的CGI到现今Microsoft的ASP,其编程的思想越来越先进,而实现的方法却越来越简单。当初我用Perl语言写计数器时真是费尽心力,现在使用VBScript结合ASP对象很容易就编写出漂亮的计数器了。这里我想通过实例来讲讲服务器端的编程要点和ASP的两个重要对象:Application对象和FileSystemObject对象。<br>
      请看第一个count.asp<br>
      &lt;%<br>
      ′将服务器上的虚拟路径转化为真实路径<br>
      countFile=server.mapPath(″/″)&″\″&″count.txt″<br>
      ′创建FileSystemObject对象的实例<br>
      set fso=Server.CreateObject(″Scripting.FileSystemObject″)<br>
      ′打开count.txt<br>
      set file=fso.OpenTextFile(″countFile″)<br>
      ′用readLine方法读取保存的访问数并赋给number<br>
      number=file.readLine<br>
      ′访问数加1<br>
      number=number+1<br>
      ′显示访问数<br>
      response.Write(″你是第″&number&″位访问者!″)<br>
      ′将新的访问数写回count.txt文件<br>
      set file=fso.createTextFile(″countFile″,true)<br>
      file.writeLine(number)<br>
      ′关闭文件<br>
      file.close<br>
      %&gt;   当客户端提出对count.asp的浏览请求时,该asp程序执行,从服务器上读出count.txt文件内保存的访问数赋给number变量,将number加一然后显示出来,再写回到count.txt文件中。但若有几人同时请求该页时就会发生错误,而且每次请求服务器端均进行一次文件读写,在访问量加大时就会给服务器带来严重的负担,那么有没有效率更高的方法呢?答案是肯定的,ASP提供了一个叫作Application的内部对象。将变量赋与Application作用域,存储到Application对象中,这样所有的用户均可访问该变量。当Web服务器(IIS或PWS)启动后,在第一次请求页面时将触发Application_onStart()事件,当服务器关闭时将触发Application_onEnd()事件。注意,OnStart与onEnd事件需写在一个名为Global.asa的文件中(可用写字本创建,并且一定要与count.asp放在同一目录下)。好了,请看改进后的计数器范例。<br>
      Global.asa文件:<br>
      &lt;Script language =″Vbscript″ Runat=″server″&gt;<br>
      sub Application_onStart()<br>
      countFile=server.mapPath(″/″)&″\″&″count.txt″<br>
      set fso=Server.CreateObject(″Scripting.FileSystemObject″)<br>
      set file=fso.OpenTextFile(″countFile″)<br>
    ′读取访问数并赋给Application变量number<br>
      Application(″number″)=file.readLine<br>
      file.close<br>
      end sub<br>
      sub Application_onEnd()<br>
      countFile=server.mappath(″/″)&″\″&″count.txt″<br>
      set fso=Server.CreateObject(″Scripting.FileSystemObject″)<br>
      set file=fso.CreateTextFile(″countFile″,true)<br>
      ′使用writeLine方法写入当前值<br>
      file.writeLine(Application(″number″))<br>
      file.close<br>
      end sub<br>
      &lt;/script&gt;<br>
      以上就是Global.asa的全部内容,下面是count.asp的内容,它很简单,就是将Application(″number″)的值加一并显示出来就行了,为了避免多用户同时对Application(″number″)的值进行操作而导致混乱,采用Lock和Unlock方法。<br>
      count.asp程序:<br>
      &lt;%<br>
      Application.Lock<br>
      Application(″number″)=Application(″number″)+1<br>
      Applicaiotn.Unlock<br>
      response.Write(″你是第″&number&″位访问者!″)<br>
      %&gt;<br>
      这样,这个计数器已经比较完善了。希望大家的网页都能精彩起来。我的E-mail:bad_boy2@21cn.com。<br>
</span>

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -