jsp制作网站计数器(同一用户多次访问计数器只加一次)

计数器count.jsp

<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.io.*" %>
<%! int number=0;
File file=new File("countNumber.txt") ;
synchronized void countPeople()//计算访问次数的同步方法
{ if(!file.exists())
{ number++;
try { file.createNewFile();
// FileInputStream 、FileOutputStream 以字节为单位的输入/出类
FileOutputStream out=new FileOutputStream(file);
DataOutputStream dataOut=new DataOutputStream(out);
dataOut.writeInt(number);
out.close();
dataOut.close();
}
catch(IOException ee){}
}
/* DataInputStream和DataOutputStream可提供一些对Java基本数据类型像int、double和boolean等的读写方法。
什么时候用?
有时只是要存储一个对象的成员数据,而不是整个对象
的信息,成员数据的类型又是Java的基本数据类型,这
样就可以使用DataInputStream、DataOutputStream来方便的写入或读出数据。 */

else{
try{ FileInputStream in=new FileInputStream(file);
DataInputStream dataIn=new DataInputStream(in);
number=dataIn.readInt();
number++;
in.close();
dataIn.close();

FileOutputStream out=new FileOutputStream(file);
DataOutputStream dataOut=new DataOutputStream(out);
dataOut.writeInt(number);
out.close();
dataOut.close();
}
catch(IOException ee){}
}
}
%>
<%
//实现同一用户多次访问计数器只加一次
String str=(String)session.getAttribute("count");
if(str==null)
{ countPeople();
String personCount=String.valueOf(number);
session.setAttribute("count",personCount);
}
%>


调用计数器页面

<jsp:include page="count.jsp" />
欢迎访问本站,这是本网站的首页<BR>
您是第 <%=(String)session.getAttribute("count")%>
个访问本网站的客户。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值