求各位高手给段代码:
     实现页面计数的计数器,要求当刷新页面时,不增加计数

解决方案 »

  1.   

    第一次進入會增加計數,之後重新刷新畫面不會,因為連結被導向test2.jsp?CK=false。
    如果再從原頁面進入一樣不計數,就再加一些判斷,例如用cookie。<html>
    <head>
    </head>
    <body>
    <%!
    public static int ct=0;
    %>
    <%

    if(request.getParameter("CK")==null){
    ct++;
    response.sendRedirect("test2.jsp?CK=false");
    }
    %>
    <%=ct%>
    </body>
    </html>
      

  2.   


    <%@ page contentType="text/html;charset=GB2312" %>
    <%@ page import="java.io.*" %>
    <HTML>
    <BODY>
    <%! int number=0;
    synchronized void countPeople()
    {
    if(number==0)
    {
    try{File f=new File("D:/tomcat","countPeople.txt");
    151
    FileInputStream in=new FileInputStream(f);
    DataInputStream dataIn=new DataInputStream(in);
    number=dataIn.readInt();
    number++;
    in.close();dataIn.close();
    }
    catch(FileNotFoundException e)
    { number++;
    try {File f=new File("D:/tomcat","countPeople.txt");
    FileOutputStream out=new FileOutputStream(f);
    DataOutputStream dataOut=new
    DataOutputStream(out);
    dataOut.writeInt(number);
    out.close();dataOut.close();
    }
    catch(IOException ee){}
    }
    catch(IOException ee)
    {
    }
    }
    else
    {number++;
    try{File f=new File("D:/tomcat","countPeople.txt");
    FileOutputStream out=new FileOutputStream(f);
    DataOutputStream dataOut=new DataOutputStream(out);
    dataOut.writeInt(number);
    out.close();dataOut.close();
    }
    catch(FileNotFoundException e){}
    catch(IOException e){}
    }
    }
    %>
    <%
    if(session.isNew())
    {countPeople();
    String str=String.valueOf(number);
    session.setAttribute("count",str);
    }
    %>
    <P>您是第<%=(String)session.getAttribute("count")%>个访问本站的人。
    <BODY>
    <HTML>这个试试看。
    用文件保存计数;
    同一个人刷新页面,用session.isNew()判断不是新的访问就不增加计数。