JSP-Gegenproduktion
Autor:Eve Cole
Aktualisierungszeit:2009-07-02 17:12:55
Zähler sind ein Muss für allgemeine Websites. Unterschätzen Sie sie nicht, wenn der Webmaster sieht, dass die Zahlen auf dem kleinen Zähler schnell wachsen. In der Vergangenheit haben wir CGI und ASP zum Schreiben von Zählern verwendet. Es gibt viele Artikel in diesem Bereich. Hier werden wir die derzeit beliebte JSP-Technologie verwenden, um zu demonstrieren, wie man einen Zähler erstellt.
Wir haben zwei Dateien verwendet: Die Datei test.jsp dient zur Ausführung im Browser und counter.java ist ein kleines Java-Bean-Programm im Hintergrund, das zum Lesen und Schreiben des Zählerwerts verwendet wird. Zum Speichern des Zählers verwenden wir eine Textdatei lyfcount.txt.
Das Folgende ist der detaillierte Programmcode (test.jsp wird im Webverzeichnis abgelegt, counter.java wird im Klassenverzeichnis abgelegt):
//test.jsp-Datei
<%@ page contentType="text/html;charset=gb2312"%>
<HTML>
<KOPF>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>Gegendemonstrationsprogramm</TITLE>
</HEAD>
<KÖRPER>
<!--Bean(Zähler) erstellen und aufrufen-->
<jsp:useBean id="counter" class="counter" Scope="request">
</jsp:useBean>
<%
//Rufen Sie die ReadFile-Methode des Zählerobjekts auf, um die Anzahl in der Datei lyfcount.txt zu lesen
String cont=counter.ReadFile("/lyfcount.txt");
//Rufen Sie die ReadFile-Methode des Zählerobjekts auf, um den Zähler zu erhöhen und in die Datei lyfcount.txt zu schreiben
counter.WriteFile("/lyfcount.txt",cont);%>
Sie sind der <font color="red"><%=cont%></font>-Besucher
</BODY>
</HTML>
//counter.java ist eine Bean, die Dateien liest und schreibt
java.io.* importieren;
öffentlicher Klassenzähler erweitert Objekt {
private String currentRecord = null;//Variable zum Speichern von Text
private BufferedReader-Datei; //BufferedReader-Objekt, das zum Lesen von Dateidaten verwendet wird
privater String-Pfad;//Vollständiger Pfadname der Datei
öffentlicher Zähler() {
}
Die //ReadFile-Methode wird verwendet, um die Daten in der Datei filePath zu lesen und diese Daten zurückzugeben
public String ReadFile(String filePath) löst eine FileNotFoundException aus
{
path = filePath;
//Erstelle ein neues BufferedReader-Objekt
file = new BufferedReader(new FileReader(path));
String returnStr =null;
versuchen
{
//Eine Datenzeile lesen und in der Variablen currentRecord speichern
currentRecord = file.readLine();
}
Catch (IOException e)
{//Fehlerbehandlung
System.out.println("Fehler beim Lesen der Daten.");
}
if (currentRecord == null)
//Wenn die Datei leer ist
returnStr = "Keine Datensätze";
anders
{//Die Datei ist nicht leer
returnStr =currentRecord;
}
//Die Daten aus der gelesenen Datei zurückgeben
return returnStr;
}
Die //ReadFile-Methode wird verwendet, um den Datenzähler+1 in die Textdatei filePath zu schreiben.
//Um die Funktion des Zählens des Wachstums zu erreichen
public void WriteFile(String filePath,String counter) wirft
FileNotFoundException
{
path = filePath;
//Zähler in int-Typ konvertieren und einen hinzufügen
int Writestr = Integer.parseInt(counter)+1;
versuchen {
//Erstelle ein PrintWriter-Objekt zum Schreiben von Daten in die Datei
PrintWriter pw = new PrintWriter(new FileOutputStream(filePath));
//Ganzzahl Writestr im Textformat ausgeben
pw.println(Writestr);
//Das PrintWriter-Objekt löschen
pw.close();
} Catch(IOException e) {
//Fehlerbehandlung
System.out.println("Fehler beim Schreiben der Datei"+e.getMessage());
}
}
}
An diesem Punkt ist das Programm fertig, kompiliert counter.java in counter.class und fügt es auch in die entsprechende ein
Erstellen Sie im Klassenverzeichnis eine lyfcount.txt-Datei im Stammverzeichnis. Der Inhalt der Datei ist eine Nummer 0, direkt in
Sie können den Zähler sehen, indem Sie die Adresse in den Browser eingeben. Aktualisieren Sie den Browser und Sie werden die sich ändernden Zahlen sehen.
(Wenn beim Ausführen angezeigt wird, dass die Datei nicht gefunden werden kann, kommentieren Sie bitte den Satz „readfile“ in test.jsp oben und führen Sie ihn aus.
Sobald die Datei lyfcount.txt automatisch erstellt wurde, kann sie normal ausgeführt werden. )