เจเอสพี เคาน์เตอร์ผลิต
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-07-02 17:12:55
ตัวนับเป็นสิ่งที่เว็บไซต์ทั่วไปต้องมี ในอดีตเราใช้ cgi และ asp ในการเขียนตัวนับ มีบทความมากมายในส่วนนี้ เราจะใช้เทคโนโลยี jsp ที่ได้รับความนิยมในปัจจุบันเพื่อสาธิตวิธีสร้างตัวนับ
เราใช้สองไฟล์ ไฟล์ test.jsp ใช้เพื่อทำงานในเบราว์เซอร์ และ counter.java เป็นโปรแกรม java bean ขนาดเล็กในพื้นหลัง ใช้ในการอ่านค่าตัวนับและเขียนค่าตัวนับ สำหรับการบันทึกตัวนับ เราใช้ไฟล์ข้อความ lyfcount.txt
ต่อไปนี้เป็นโค้ดโปรแกรมโดยละเอียด (test.jsp อยู่ในไดเร็กทอรีเว็บ, counter.java อยู่ในไดเร็กทอรีคลาส):
//ไฟล์ test.jsp
<%@ หน้า contentType="text/html;charset=gb2312"%>
<HTML>
<หัว>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>โปรแกรมสาธิตการโต้แย้ง</TITLE>
</HEAD>
<ร่างกาย>
<!--สร้างและเรียก bean(counter)-->
<jsp:useBean id="เคาน์เตอร์" class="เคาน์เตอร์" ขอบเขต="คำขอ">
</jsp:useBean>
-
//เรียกเมธอด ReadFile ของวัตถุตัวนับเพื่ออ่านจำนวนในไฟล์ lyfcount.txt
สตริง cont=counter.ReadFile("/lyfcount.txt");
//เรียกเมธอด ReadFile ของวัตถุตัวนับเพื่อเพิ่มตัวนับและเขียนลงในไฟล์ lyfcount.txt
counter.WriteFile("/lyfcount.txt",ต่อ);%>
คุณคือผู้เยี่ยมชม <font color="red"><%=cont%></font>
</ร่างกาย>
</HTML>
//counter.java เป็น bean ที่อ่านและเขียนไฟล์
นำเข้า java.io.*;
ตัวนับคลาสสาธารณะขยาย Object {
ส่วนตัว String currentRecord = null;//ตัวแปรในการบันทึกข้อความ
ไฟล์ BufferedReader ส่วนตัว // วัตถุ BufferedReader ใช้ในการอ่านข้อมูลไฟล์
private String path;//ชื่อพาธแบบเต็มของไฟล์
เคาน์เตอร์สาธารณะ () {
-
//วิธี ReadFile ใช้เพื่ออ่านข้อมูลในไฟล์ filePath และส่งคืนข้อมูลนี้
สาธารณะ String ReadFile (String filePath) พ่น FileNotFoundException
-
เส้นทาง = เส้นทางไฟล์;
//สร้างวัตถุ BufferedReader ใหม่
ไฟล์ = ใหม่ BufferedReader (FileReader ใหม่ (เส้นทาง));
สตริง returnStr = null;
พยายาม
-
//อ่านแถวข้อมูลและบันทึกลงในตัวแปร currentRecord
currentRecord = file.readLine();
-
จับ (IOException จ)
{//การจัดการข้อผิดพลาด
System.out.println("เกิดข้อผิดพลาดในการอ่านข้อมูล");
-
ถ้า (currentRecord == null)
//หากไฟล์ว่างเปล่า
returnStr = "ไม่มีบันทึก";
อื่น
{//ไฟล์ไม่ว่างเปล่า
returnStr = บันทึกปัจจุบัน;
-
//ส่งคืนข้อมูลจากไฟล์ที่อ่าน
กลับ returnStr;
-
//วิธี ReadFile ใช้เพื่อเขียนตัวนับข้อมูล +1 ไปยังไฟล์ข้อความ filePath
//เพื่อให้บรรลุหน้าที่ในการนับการเติบโต
โมฆะสาธารณะ WriteFile (String filePath, ตัวนับสตริง) พ่น
ไฟล์ NotFoundException
-
เส้นทาง = เส้นทางไฟล์;
//แปลงตัวนับเป็นประเภท int แล้วเพิ่มเข้าไป
int Writestr = Integer.parseInt(ตัวนับ)+1;
พยายาม {
//สร้างวัตถุ PrintWriter เพื่อเขียนข้อมูลลงไฟล์
PrintWriter pw = PrintWriter ใหม่ (FileOutputStream ใหม่ (filePath));
//พิมพ์จำนวนเต็ม Writestr ในรูปแบบข้อความ
pw.println(Writestr);
//ล้างวัตถุ PrintWriter
pw.ปิด();
} จับ (IOException จ) {
//การจัดการข้อผิดพลาด
System.out.println("การเขียนไฟล์ผิดพลาด"+e.getMessage());
-
-
-
ณ จุดนี้ โปรแกรมเสร็จสิ้น คอมไพล์ counter.java ลงใน counter.class และใส่ไว้ในโค้ดที่เกี่ยวข้องด้วย
ในไดเร็กทอรีคลาส ให้สร้างไฟล์ lyfcount.txt ในไดเร็กทอรีราก เนื้อหาของไฟล์จะเป็นตัวเลข 0 โดยตรง
คุณสามารถดูตัวนับได้โดยพิมพ์ที่อยู่ลงในเบราว์เซอร์ รีเฟรชเบราว์เซอร์แล้วคุณจะเห็นตัวเลขที่เปลี่ยนแปลง
(หากระบบแจ้งว่าไม่พบไฟล์ขณะรัน โปรดแสดงความคิดเห็นประโยค readfile ใน test.jsp ด้านบนแล้วรัน
เมื่อไฟล์ lyfcount.txt ถูกสร้างขึ้นโดยอัตโนมัติ ไฟล์ก็จะสามารถทำงานได้ตามปกติ -