首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 笔记本电脑 | 北大青鸟 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
中国IT教育
Google
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> J2EE >> Servlet/Jsp >> 正文

JSP计数器的制作


  计数器是一般网站必备的东东,别小看它了,每当站长看着小小计数器上的数字飞速增长的时候,感觉实在是好极了。以前我们用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">
  <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文件自动建立,然后就可以正常运行。)
【责编:admin】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·Oracle外键及外键约束修改行为
 ·开源软件测试工具学习专题
 ·JSP Web开发 入门基础到高手进阶教程
 ·JavaFX—是Java桌面的新希望么?
 ·安全至上 .NET开发安全策略
 ·测试用例设计之道-测试用例学习专题
 ·面向Java开发人员的Scala指南
 ·Java设计模式之实例详解
 ·Oracle数据库11g 面向DBA和开发人员的重要新特性
 ·桌面应用软件编程 J2SE技术详解
 今日更新
 社区讨论
 博客论点
 频道精选
 Java 频道导航