网站计数器

一.普通计数器

<%@ page contentType="text/html;charset=GB2312"%>
<HTML>
    <BODY>
<%! Integer number=new Integer(0);%>
<%
    synchronized(number)
    {
     int i=number.intValue();
     i++;
     number=new Integer(i);
    }
%>
<p>您是第<%=number.intValue()%>个访问本站的客户。</p>
    </BODY>
</HTML>

二.session网站计数器

<%@ page contentType="text/html;charset=GB2312"%>
<HTML>
<title>session网站计数器</title>
    <BODY>
<%! Integer number=new Integer(1);%>
<%    int i =number.intValue();
    if(session.isNew())//判断是否是新的会话
    {
     i++;
     synchronized(number)
     {number=new Integer(i);}
    }
    %>
<p>您是第<%=number.intValue()%>个访问本站的客户。</p>
    </BODY>
</HTML>

三.application网站计数器

<%@ page contentType="text/html;charset=GB2312"%>
<HTML>
<title>application网站计数器</title>
    <BODY>
<%    Integer number=(Integer)application.getAttribute("counter");
    if(number==null)
    {
     number=new Integer(1);
     synchronized(application)
     {application.setAttribute("counter",number);}
    }
 
    else if(session.isNew())
    {
     number=new Integer(number.intValue()+1);
     synchronized(application)
     {application.setAttribute("counter",number);}
    }
    %>
<p>您是第<%=(Integer)application.getAttribute("counter")%>个访问本站的客户。</p>
    </BODY>
</HTML>



注:帖子为转帖,上述的后两种实现方式都是在现实中网站的常用用法,效果一样,值得引用~

你可能感兴趣的:(html)