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">

<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文件自動建立,然後就可以正常運行。)

發佈了15 篇原創文章 · 獲贊 2 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章