计数器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);
}
%>
<%@ 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")%>
个访问本网站的客户。
欢迎访问本站,这是本网站的首页<BR>
您是第 <%=(String)session.getAttribute("count")%>
个访问本网站的客户。