许多地方都会用到的JSP计数器,希望对大家有帮助,做为收藏之用吧。
<%@ page contentType="text/html;charset=gb2312"%> <%@ page language="java" import="java.io.*"%>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>计数器</title> </head>
<%! //同步更新计数器 synchronized void counter(){ ServletContext application=getServletContext(); //构造application对象(可选) String szPath=application.getRealPath("/"); //得到当前路径 szPath=szPath+"hits.txt"; //计数器文件 0-9999999999999... String szRecord=""; //记数 String int nRecord=0; //记数 int try{ BufferedReader file=new BufferedReader(new FileReader(szPath)); szRecord=file.readLine(); //读取计数器文件 } catch(IOException e){ e.printStackTrace(System.err); } if(szRecord==null) szRecord="0"; //如果计数器文件为空
nRecord=java.lang.Integer.parseInt(szRecord)+1; //计数器+1 try{ File f=new File(szPath); PrintWriter pw=new PrintWriter(new FileWriter(f)); pw.print(nRecord); //写文件 pw.close(); } catch(IOException e){ System.out.println(e); } } %>
<% //显示计数器 if(session.isNew()){ //如果是新用户 counter(); } String Path=application.getRealPath("/"); String szPath=Path+"hits.txt"; String szRecord=""; BufferedReader file=new BufferedReader(new FileReader(szPath)); try{ szRecord=file.readLine(); } catch(IOException e){ System.out.println("文件未找到!"); } //显示7位数字gif图像 String szOut="<body topmargin='0' leftmargin='0'>"; int i=0; int k=7-szRecord.length(); //"0"的个数 for (i=0;i<k-1;i++){ //显示"0" szOut=szOut+"<img src='images/0.gif'>"; } for (i=0;i<szRecord.length();i++){ //显示非"0" szOut=szOut+"<img src='images/"+ szRecord.charAt(i) +".gif'>"; } szOut=szOut+"</body>"; out.println(szOut); %> </html> 
|