إنتاج عداد JSP
الكاتب:Eve Cole
وقت التحديث:2009-07-02 17:12:55
تعد العدادات أمرًا ضروريًا للمواقع العامة، فلا تقلل من أهميتها عندما يرى مشرف الموقع أن الأرقام الموجودة على العداد الصغير تنمو بسرعة، فإنه يشعر بالارتياح حقًا. في الماضي، استخدمنا cgi وasp لكتابة العدادات. وهناك العديد من المقالات في هذا المجال، وسنستخدم هنا تقنية jsp الشائعة حاليًا لتوضيح كيفية إنشاء عداد.
استخدمنا ملفين، يتم استخدام ملف test.jsp للتشغيل في المتصفح، وcounter.java هو برنامج جافا فول صغير في الخلفية، يستخدم لقراءة قيمة العداد وكتابة قيمة العداد. لحفظ العداد، نستخدم ملف نصي lyfcount.txt.
ما يلي هو رمز البرنامج التفصيلي (يتم وضع test.jsp في دليل الويب، ويتم وضع counter.java في دليل الفئة):
// ملف test.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<أتش تي أم أل>
<الرأس>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>برنامج العرض التوضيحي المضاد</TITLE>
</الرأس>
<الجسم>
<!--إنشاء واستدعاء الفول(العداد)-->
<jsp:useBean id = "counter" class = "counter" نطاق = "طلب">
</jsp:useBean>
<%
// استدعاء أسلوب ReadFile لكائن العداد لقراءة العدد في الملف lyfcount.txt
String cont=counter.ReadFile("/lyfcount.txt");
// استدعاء أسلوب ReadFile لكائن العداد لزيادة العداد وكتابته في الملف lyfcount.txt
counter.WriteFile("/lyfcount.txt",cont);%>
أنت <font color="red"><%=cont%></font> الزائر
</الجسم>
</HTML>
//counter.java عبارة عن حبة تقرأ الملفات وتكتبها
استيراد java.io.*;
يقوم عداد الفئة العامة بتوسيع الكائن {
سلسلة خاصة currentRecord = null;// متغير لحفظ النص
ملف BufferedReader الخاص؛ // كائن BufferedReader، يستخدم لقراءة بيانات الملف
مسار سلسلة خاصة؛ // اسم المسار الكامل للملف
العداد العام () {
}
// يتم استخدام طريقة ReadFile لقراءة البيانات الموجودة في الملف filePath وإرجاع هذه البيانات
سلسلة ReadFile العامة (String filePath) تطرح FileNotFoundException
{
المسار = filePath;
// أنشئ كائن BufferedReader جديد
file = new BufferedReader(new FileReader(path));
String returnStr =null;
يحاول
{
// اقرأ صفًا من البيانات واحفظه في متغير السجل الحالي
currentRecord = file.readLine();
}
قبض (IOException ه)
{// معالجة الأخطاء
System.out.println("خطأ في قراءة البيانات.");
}
إذا (السجل الحالي == فارغ)
//إذا كان الملف فارغًا
returnStr = "لا توجد سجلات";
آخر
{// الملف ليس فارغا
returnStr =currentRecord;
}
// إرجاع البيانات من ملف القراءة
إرجاع returnStr;
}
// يتم استخدام طريقة ReadFile لكتابة عداد البيانات +1 إلى الملف النصي filePath.
// لتحقيق وظيفة حساب النمو
يلقي ملف WriteFile الفراغي العام (سلسلة ملف المسار، عداد السلسلة).
FileNotFoundException
{
المسار = filePath;
// تحويل العداد إلى نوع int وإضافة واحد
int Writestr = Integer.parseInt(counter)+1;
يحاول {
// أنشئ كائن PrintWriter لكتابة البيانات إلى الملف
PrintWriter pw = new PrintWriter(new FileOutputStream(filePath));
// اطبع عددًا صحيحًا Writestr بتنسيق نصي
pw.println(Writestr);
// امسح كائن PrintWriter
pw.Close();
} قبض على (IOException ه) {
// معالجة الأخطاء
System.out.println("خطأ في كتابة الملف"+e.getMessage());
}
}
}
عند هذه النقطة، يكون البرنامج قد انتهى، وقم بتجميع counter.java في counter.class، ووضعه أيضًا في الفئة المقابلة
في دليل الفئة، قم بإنشاء ملف lyfcount.txt في الدليل الجذر، ومحتوى الملف هو رقم 0، مباشرة
يمكنك رؤية العداد عن طريق كتابة العنوان في المتصفح. قم بتحديث المتصفح وسترى الأرقام المتغيرة.
(إذا ظهرت رسالة تفيد بأنه لا يمكن العثور على الملف أثناء التشغيل، فيرجى التعليق على جملة ملف القراءة في test.jsp أعلاه وتشغيله.
بمجرد إنشاء ملف lyfcount.txt تلقائيًا، يمكن تشغيله بشكل طبيعي. )