?? 0146.htm
字號:
<html>
<head>
<title>新時代軟件教程:操作系統 主頁制作 服務器 設計軟件 網絡技術 編程語言 文字編輯</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋體}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1 {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center"><big><strong>jsp計數器制作手冊</strong></big></p>
<div align="right">---摘自《JSP愛好者》 (文/劉玉鋒)</div>
<br> 計數器是一般網站必備的東東,別小看它了,每當站長看著小小計數器上的數字飛速增長的時候,感覺實在是好極了。以前我們用cgi、asp來寫計數器,這方面的文章很多了,在這里,我們將會采用目前比較流行的jsp技術演示如何做一個計數器。<br>
<br>
其中我們用到了兩個文件,test.jsp文件用于在瀏覽器中運行,counter.java是后臺的一個小java bean程序,用來讀計數器的值和寫入計數器的值。而對于計數器的保存,我們采用了一個文本文件lyfcount.txt。<br>
<br>
下面是詳細的程序代碼(test.jsp放到web目錄下,counter.java放到class目錄):<br>
//test.jsp文件<br>
<%@ page contentType="text/html;charset=gb2312"%><br>
<HTML><br>
<HEAD><br>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><br>
<META NAME="GENERATOR" CONTENT="Oracle JDeveloper"><br>
<TITLE><br>
計數器演示程序<br>
</TITLE><br>
</HEAD><br>
<BODY><br>
<!--創建并調用bean(counter)--><br>
<jsp:useBean id="counter" class="counter" scope="request"><br>
</jsp:useBean><br>
<%<br>
//調用counter對象的ReadFile方法來讀取文件lyfcount.txt中的計數<br>
String cont=counter.ReadFile("/lyfcount.txt");<br>
//調用counter對象的ReadFile方法來將計數器加一后寫入到文件lyfcount.txt中<br>
counter.WriteFile("/lyfcount.txt",cont);%><br>
您是第<font color="red"><%=cont%></font>位訪問者<br>
</BODY><br>
</HTML><br>
<br>
//counter.java 讀寫文件的一個bean<br>
import java.io.*;<br>
<br>
public class counter extends Object {<br>
private String currentRecord = null;//保存文本的變量<br>
private BufferedReader file; //BufferedReader對象,用于讀取文件數據<br>
private String path;//文件完整路徑名<br>
public counter() {<br>
}<br>
//ReadFile方法用來讀取文件filePath中的數據,并返回這個數據<br>
public String ReadFile(String filePath) throws FileNotFoundException<br>
{<br>
path = filePath;<br>
//創建新的BufferedReader對象<br>
file = new BufferedReader(new FileReader(path));<br>
String returnStr =null;<br>
try<br>
{<br>
//讀取一行數據并保存到currentRecord變量中<br>
currentRecord = file.readLine();<br>
}<br>
catch (IOException e)<br>
{//錯誤處理<br>
System.out.println("讀取數據錯誤.");<br>
}<br>
if (currentRecord == null)<br>
//如果文件為空<br>
returnStr = "沒有任何記錄";<br>
else<br>
{//文件不為空<br>
returnStr =currentRecord;<br>
}<br>
//返回讀取文件的數據<br>
return returnStr;<br>
}<br>
//ReadFile方法用來將數據counter+1后寫入到文本文件filePath中<br>
//以實現計數增長的功能<br>
public void WriteFile(String filePath,String counter) throws FileNotFoundException<br>
{<br>
path = filePath;<br>
//將counter轉換為int類型并加一<br>
int Writestr = Integer.parseInt(counter)+1;<br>
try {<br>
//創建PrintWriter對象,用于寫入數據到文件中<br>
PrintWriter pw = new PrintWriter(new FileOutputStream(filePath));<br>
//用文本格式打印整數Writestr<br>
pw.println(Writestr);<br>
//清除PrintWriter對象<br>
pw.close();<br>
} catch(IOException e) {<br>
//錯誤處理<br>
System.out.println("寫入文件錯誤"+e.getMessage());<br>
}<br>
}<br>
<br>
}<br>
<br>
到這里,程序寫完了,將counter.java編譯為counter.class,同樣放在對應的class目錄下,在根目錄下建立一個lyfcount.txt文件,文件內容就一個數字0,直接在瀏覽器中敲入地址就可以看到計數器了,刷新瀏覽器會看到不斷變幻的數字。<br>
<br>
(如果運行時候提示找不到文件,請將上面test.jsp中的readfile那一句注釋后運行一次則lyfcount.txt文件自動建立,然后就可以正常運行。)<br>
<br>
上面的程序完整源代碼在我的網站http://aspfans.yeah.net上可以下載。
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -