- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的服务器维护,企业网站维护,网站维护服务
- (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
 
  
    
| 作者:黑客防线网安JSP教程基地 来源:黑客防线网安JSP教程基地 浏览次数:0 | 
计数器是一般网站必备的东东,别小看它了,每当站长看着小小计数器上的数字飞速增长的时候,感觉实在是好极了。以前我们用cgi、asp来写计数器,这方面的文章很多了,在这里,我们将会采用目前比较流行的jsp技术演示如何做一个计数器。
其中我们用到了两个文件,test.jsp文件用于在浏览器中运行,counter.java是后台的一个小java bean程序,用来读计数器的值和写入计数器的值。而对于计数器的保存,我们采用了一个文本文件lyfcount.txt。
  下面是详细的程序代码(test.jsp放到web目录下,counter.java放到class目录): 
  //test.jsp文件 
  <%@ page contentType="text/html;charset=gb2312"%> 
  <HTML> 
  <HEAD> 
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
  <META NAME="GENERATOR" CONTENT="Oracle JDeveloper"> 
  <TITLE> 
  计数器演示程序 
  </TITLE> 
  </HEAD> 
  <BODY> 
  <!--创建并调用bean(counter)--> 
  <jsp:useBean id="counter" class="counter" scope="request"> 
  </jsp:useBean> 
  <% 
  //调用counter对象的ReadFile方法来读取文件lyfcount.txt中的计数 
  String cont=counter.ReadFile("/lyfcount.txt"); 
  //调用counter对象的ReadFile方法来将计数器加一后写入到文件lyfcount.txt中 
  counter.WriteFile("/lyfcount.txt",cont);%> 
  您是第<font color="red"><%=cont%></font>位访问者 
  </BODY> 
  </HTML> 
  //counter.java 读写文件的一个bean 
  import java.io.*; 
  public class counter extends Object { 
  private String currentRecord = null;//保存文本的变量 
  private BufferedReader file; //BufferedReader对象,用于读取文件数据 
  private String path;//文件完整路径名 
  public counter() { 
  } 
  //ReadFile方法用来读取文件filePath中的数据,并返回这个数据 
  public String ReadFile(String filePath) throws FileNotFoundException 
  { 
  path = filePath; 
  //创建新的BufferedReader对象 
  file = new BufferedReader(new FileReader(path)); 
  String returnStr =null; 
  try 
  { 
  //读取一行数据并保存到currentRecord变量中 
  currentRecord = file.readLine(); 
  } 
  catch (IOException e) 
  {//错误处理 
  System.out.println("读取数据错误."); 
  } 
  if (currentRecord == null) 
  //如果文件为空 
  returnStr = "没有任何记录"; 
  else 
  {//文件不为空 
  returnStr =currentRecord; 
  } 
  //返回读取文件的数据 
  return returnStr; 
  } 
  //ReadFile方法用来将数据counter+1后写入到文本文件filePath中 
  //以实现计数增长的功能 
  public void WriteFile(String filePath,String counter) throws FileNotFoundException 
  { 
  path = filePath; 
  //将counter转换为int类型并加一 
  int Writestr = Integer.parseInt(counter)+1; 
  try { 
  //创建PrintWriter对象,用于写入数据到文件中 
  PrintWriter pw = new PrintWriter(new FileOutputStream(filePath)); 
  //用文本格式打印整数Writestr 
  pw.println(Writestr); 
  //清除PrintWriter对象 
  pw.close(); 
  } catch(IOException e) { 
  //错误处理 
  System.out.println("写入文件错误"+e.getMessage()); 
  } 
  } 
}
到这里,程序写完了,将counter.java编译为counter.class,同样放在对应的class目录下,在根目录下建立一个lyfcount.txt文件,文件内容就一个数字0,直接在浏览器中敲入地址就可以看到计数器了,刷新浏览器会看到不断变幻的数字。
(如果运行时候提示找不到文件,请将上面test.jsp中的readfile那一句注释后运行一次则lyfcount.txt文件自动建立,然后就可以正常运行。)
| 我要申请本站:N点 | 黑客防线官网 | | 
| 专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |