以前的主页用的计数器链的是CGI程序,而主页的类型是shtml,又不能把主页改成jsp类型的文件, 现在是过渡期,以后还要用Java程序

解决方案 »

  1.   

    算了给这个你吧,凑合着用吧。<%
    Function Counts(CounterFile)
        Dim objFSO, objTS
        Application.Lock 
        Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
        Set objTS = objFSO.OpenTextFile(Server.MapPath(CounterFile), 1, True)
        If Not objTS.AtEndOfStream Then '检查是否到达文件结尾
            Counts = CLng(objTS.ReadLine)
        End If
        Counts = Counts + 1
        objTS.Close
     
        Set objTS = objFSO.OpenTextFile(Server.MapPath(CounterFile), 2, True)  
        objTS.WriteLine(Counts)
        objTS.Close
        Application.Unlock
    End FunctionIf Session("Counter") = Empty Then
        Session("Counter") = Counts("visitor_counter.txt")
    End If%><body text="#000000"> <font color="#000000" align="center"><font color="#000000" size="2">Total:</font><font size="2"><%= Session("Counter") %></font></font>
      

  2.   

    谢谢up我的意思是想在主页index.shtml中来调用已有的用jsp、JavaBean做的计数器。
    好像在*.shtml中调用不了,但是这个主页的类型不能改为jsp文件,这个计数器必须用java程序来做。哪位有好的办法。
      

  3.   

    用JavaScript制作趣味计数器该方法的关键是Cookie技术和动态图像特性的综合运用。使用Cookie,可以在用户端的硬盘上记录用户的数据,下次访问此站点时,即可读取用户端硬盘的Cookie,直接得知来访者的身份和访问次数等有关信息。JavaScript中通过document.cookie属性访问Cookie,这个属性包括名字、失效日期、有效域名、有效URL路径等。用等号分开的名字和其值是Cookie的实际数据,本例中用来存储该访问者访问该页面的次数。通过把Web页中的图像映射到一个Images数组,一定条件下修改该数组项的特性,可以实现动态图像显示。本例中,首先预载入一组图像,每次调用该Web页时,随机产生新的一组图像,通过覆盖原图像实现动态的趣味性效果。源程序count.html<html>
      <head>
      <meta http-equiv=″Content-Type″
       content=″text/html; charset=gb2312″>
      <title>趣味计数器</title>
      </head>
      <body>
      <p><script language=″JavaScript″>
       var expdays=60;
       var exp=new Date();
       exp.setTime(exp.getTime()
       (expdays*24*60*60*1000));
       function count(info){
       //若是该访客的第一次访问,将计数器值赋1,否则加1累积
       var wwhcount=getcookie(′wwhcount′);
       if (wwhcount==null){
       wwhcount=1;
       }
       else{wwhcount++;}
       setcookie(′wwhcount′,wwhcount,exp);
       return countdisp(wwhcount)
       }
       function countdisp(countvar){
       //实现随机显示,不足6位以0补全,可以自己调整显示位数
       var countvar1=″000000″+countvar;
       var howFar1=countvar1.length;
       countvar1=countvar1.substring(howFar1, howFar1-1)
       var index=″ ″+Math.floor(Math.random()*10);
       if (index==″10″){
       index=″0″};
       for (var icount=0;icount<6;icount++){
       var g=countvar1.substring(icount,icount+1);
       document.images[icount].src=″http:
       //localhost/images/″+index+g+″.gif″;
       }
       }
       function getCookieVal(offset){
       //获取该访问者的已访问次数
       var endstr=document.cookie.indexOf(″;″,offset);
       if (endstr==-1)
       endstr=document.cookie.length;
       return unescape(document.cookie.substring(offset,endstr));
       }
       function getcookie(name){
       //截取Cookie中的name信息段
       var arg=name+″=″;
       var alen=arg.length;
       var clen=document.cookie.length;
       var i=0;
       while (i   var j=i+alen;
       if (document.cookie.substring(i,j)==arg)
       return getCookieVal(j);
       i=document.cookie.indexOf(″ ″,i)+1;
       if (i==0) break;}
       return null;
       }
       function setcookie(name,value){
       //存储该访客计数器的数值
       var argv=setcookie.arguments;
       var argc=setcookie.arguments.length;
       var expires=(argc>2)?argv[2]:null;var path=(argc>3)?argv[3]:null;
       var domain=(argc>4)?argv[4]:null;
       var secure=(argc〉5)?argv[5]:false;
       document.cookie=name+″=″+escape(value)
       +((expires==null)?″ ″:(″;expires=″+expires.toGMTString()))
       +((path==null)?″ ″:(″;path=″+path))+((domain==null)?″
       ″:(″;domain=″+domain))+((secure==true)?″;secure″:″ ″);
       }
       function deletecookie(name){
       //使该信息行失效,删除该用户关于访问次数的信息
       var exp=new Date();
       exp.setTime(exp.getTime()-1);
       var cval=getcookie(name);
       document.cookie=name+″=″+cval+″;expires=″+exp.toGMTString();
       }
       </script></p>
       <! --预载入图像数组-->
       您是第 <img src=″http: //localhost/images/00.gif″ height=20 width=20>
       <img src=″http: //localhost/images/00.gif″
       height=20 width=20>
       <img src=″http: //localhost/images/00.gif″
       height=20 width=20>
       <img src=″http: //localhost/images/00.gif″
       height=20 width=20>
       <I mg src=″http: //localhost/images/00.gif″
       height=20 width=20>
       <img src=″http: //localhost/images/00.gif″
       height=20 width=20>次光临!
       <script language=″JavaScript″>
       //调用count()函数,实现计数器的动态图像显示
       count();
       </script>
       </body>
       </html> 注意事项由于使用了JavaScript语言,因此该方法具有与应用平台的无关性,可以适用于Unix、Windows等多种平台。另外,此计数器不同于一般意义上的访客计数器,专门用于记录某一访客对某一网站的访问次数。
      

  4.   

    设计方法之二:利用ASP技术制作趣味计数器
       1.设计思想: 
       ASP(动态服务器主页)是微软公司推出的用以取代CGI的新技术,是目前公认的建立Windows NT动态站点最好的工具。ASP包含在IIS3.0中,它提供了一个在服务器端的scripting环境,在站点服务器上执行,具有简单、实用、高效等特点。ASP内含五个内置的ActiveX服务器组件,包括:数据库访问组件(Database Access component)、文件访问组件(File Access component)、广告轮播器组件(Ad Rotator component)、内容链接组件(Content Linking component)、浏览器信息组件(Browser Capabilities component).利用文件访问组件,通过FileSystemObject对象和 TextStream对象,可以提供读写服务器文件的功能,实现访客计数器功能。    2.源程序count.asp: < html >
    < head >
    < meta http-equiv="Content-Type"
    content="text/html; charset=gb2312" >
    < title >趣味计数器< /title >
    < /head >
    < body >
    < p >
    < %
    dim out
    countfile=server.mappath("aspcount.txt")
    '定义一个服务器组件
    set objfile=server.createobject("scripting.filesystemobject")
    set out=objfile.opentextfile(countfile,1,false,false)
    ‘读取数据
    counter=out.readline
    out.close
    set objfile=server.createobject("scripting.filesystemobject")
    set out=objfile.createtextfile(countfile,TRUE,FALSE)
    ‘暂时琐定
    application.lock
    ‘访客次数加1
    counter=counter+1
    ‘写入数据
    out.writeline(counter)
    ‘解锁
    application.unlock
    out.close
    % >
    < script language="JavaScript" > 
    function countdisp(countvar){
    //实现随机显示,不足6位以0补全 
    var countvar1="000000"+countvar;
    var howFar1=countvar1.length;
    countvar1=countvar1.substring(howFar1, howFar1-1)
    var index=""+Math.floor(Math.random()*10);
    if (index=="10"){
    index="0"};
    for (var icount=0;icount< 6;icount++){ 
    var g=countvar1.substring(icount,icount+1);
    document.images[icount].src="http://
    localhost/images/"+index+g+".gif";

    }
    < /script >< /p >
    < ! --预载入图像数组-- >
    您是第< img src="http://localhost/images/00.gif" height=20 width=20 >
    < img src="http://localhost/images/00.gif" 
    height=20 width=20 >
    < img src="http://localhost/images/00.gif"
    height=20 width=20 >
    < img src="http://localhost/images/00.gif"
    height=20 width=20 >
    < img src="http://localhost/images/00.gif"
    height=20 width=20 >
    < img src="http://localhost/images/00.gif"
    height=20 width=20 >位访问者!
    < script language="JavaScript" >
    //调用count()函数, 
    实现计数器的动态图像显示
    count(counter);
    < /script >
    < /body >
    < /html >   3.注意事项: 
       该计数器只能运行于Windows环境,包括Windows NT Server 4.0(须安装IIS3.0)、Windows NT 4.0(须安装Peer Web Services)、Windows 95(须安装Peer Web Services)。ASP文件扩展名以.asp表示,可以用常规的文本编辑器编辑,也可以利用专门的辅助开发工具InterDev进行开发设计,而且该文件必须存放于具有执行功能的目录中。