jsp中声明方法的使用 计数器小例子
在下面这个例子,我们使用Java的输入输出流技术,将计数保存到文件;
当客户访问该JSP页面时,就去读取这个文件,将服务器重新启动之前的计数读入,并在次基础上增加1;
然后将新的计数写入到文件。
<%@ page import="java.io.*"%>
<HTML>
<BODY BGCOLOR=cyan>
<FONT Size=4>
<%!
int number=0;
File file=new File("count.txt");
synchronized void countPeople()//synchronized是java关键字,是一种同步锁
{
if(!file.exists()){//file.exists()检测文件路径是否存在,存在返回true,不存在返回false
number++;
try{
file.createNewFile();
FileOutputStream out=new FileOutputStream("count.txt");
DataOutputStream dataOut=new DataOutputStream(out); //输出流,读出到文件中
dataOut.writeInt(number);
out.close();
dataOut.close();
}catch(IOException ee){}
}
else{
try{
FileInputStream in=new FileInputStream("count.txt");
DataInputStream dataIn=new DataInputStream(in); //输入流,读入到客户端
number=dataIn.readInt();
number++;
in.close();
dataIn.close();
FileOutputStream out=new FileOutputStream("count.txt");
DataOutputStream dataOut=new DataOutputStream(out);
dataOut.writeInt(number);
out.close();
dataOut.close();
}catch(IOException ee){}
}
}
%>
<%
countPeople();
%>
<p>您是第
<%=number%>
个访问本站的客户。
<p>
</FONT>
</BODY>
</HTML>