其中我們用到了兩個文件,test.jsp文件用于在瀏覽器中運行,counter.java是後台的一個小java bean程序,用來讀計數器的值和寫入計數器的值。而對于計數器的保存,我們采用了一個文本文件lyfcount.txt。
下面是詳細的程序代碼(test.jsp放到web目錄下,counter.java放到class目錄)︰
//test.jsp文件
$#@60;%@ page contentType="text/html;charset=big5"%$#@62;
$#@60;HTML$#@62;
$#@60;HEAD$#@62;
$#@60;meta http-equiv="Content-Type" content="text/html; charset=big5"$#@62;
$#@60;META NAME="GENERATOR" CONTENT="Oracle JDeveloper"$#@62;
$#@60;TITLE$#@62;
計數器演示程序
$#@60;/TITLE$#@62;
$#@60;/HEAD$#@62;
$#@60;BODY$#@62;
$#@60;!--創建並調用bean(counter)--$#@62;
$#@60;jsp:useBean id="counter" class="counter" scope="request"$#@62;
$#@60;/jsp:useBean$#@62;
$#@60;%
//調用counter對象的ReadFile方法來讀取文件lyfcount.txt中的計數
String cont=counter.ReadFile("/lyfcount.txt");
//調用counter對象的ReadFile方法來將計數器加一後寫入到文件lyfcount.txt中
counter.WriteFile("/lyfcount.txt",cont);%$#@62;
您是第$#@60;font color="red"$#@62;$#@60;%=cont%$#@62;$#@60;/font$#@62;位訪問者
$#@60;/BODY$#@62;
$#@60;/HTML$#@62;
//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(pa );
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文件自動建立,然後就可以正常運行。)
上面的程序完整源代碼在我的網站http://aspfans.yeah.net上可以下載。

