JSP - Trefferzähler

In diesem Kapitel werden wir den Trefferzähler in JSP diskutieren. Ein Trefferzähler informiert Sie über die Anzahl der Besuche auf einer bestimmten Seite Ihrer Website. Normalerweise fügen Sie Ihrer index.jsp-Seite einen Trefferzähler hinzu, vorausgesetzt, die Leute landen zuerst auf Ihrer Homepage.

Um einen Trefferzähler zu implementieren, können Sie das Application Implicit-Objekt und die zugehörigen Methoden verwenden getAttribute() und setAttribute().

Dieses Objekt ist eine Darstellung der JSP-Seite über ihren gesamten Lebenszyklus. Dieses Objekt wird erstellt, wenn die JSP-Seite initialisiert wird, und wird entfernt, wenn die JSP-Seite von der entfernt wirdjspDestroy() Methode.

Es folgt die Syntax zum Festlegen einer Variablen auf Anwendungsebene:

application.setAttribute(String Key, Object Value);

Mit der obigen Methode können Sie eine Trefferzählervariable festlegen und dieselbe Variable zurücksetzen. Im Folgenden finden Sie die Methode zum Lesen der mit der vorherigen Methode festgelegten Variablen:

application.getAttribute(String Key);

Jedes Mal, wenn ein Benutzer auf Ihre Seite zugreift, können Sie den aktuellen Wert des Trefferzählers lesen, um eins erhöhen und erneut für die zukünftige Verwendung festlegen.

Beispiel

Dieses Beispiel zeigt, wie Sie mit JSP die Gesamtzahl der Treffer auf einer bestimmten Seite zählen können. Wenn Sie die Gesamtzahl der Zugriffe auf Ihre Website zählen möchten, müssen Sie auf allen JSP-Seiten denselben Code einfügen.

<%@ page import = "java.io.*,java.util.*" %>

<html>
   <head>
      <title>Application object in JSP</title>
   </head>
   
   <body>
      <%
         Integer hitsCount = (Integer)application.getAttribute("hitCounter");
         if( hitsCount ==null || hitsCount == 0 ) {
            /* First visit */
            out.println("Welcome to my website!");
            hitsCount = 1;
         } else {
            /* return visit */
            out.println("Welcome back to my website!");
            hitsCount += 1;
         }
         application.setAttribute("hitCounter", hitsCount);
      %>
      <center>
         <p>Total number of visits: <%= hitsCount%></p>
      </center>
   
   </body>
</html>

Lassen Sie uns nun den obigen Code eingeben main.jsp und rufen Sie diese JSP über die URL auf http://localhost:8080/main.jsp. Dadurch wird der Trefferzählerwert angezeigt, der sich beim Aktualisieren der Seite erhöht. Sie können versuchen, mit verschiedenen Browsern auf die Seite zuzugreifen, und Sie werden feststellen, dass der Trefferzähler mit jedem Treffer weiter zunimmt und Sie das folgende Ergebnis erhalten:

Welcome back to my website!

Total number of visits: 12

Hit Counter Resets

Was passiert, wenn Sie Ihre Anwendung, dh den Webserver, neu starten? Dadurch wird Ihre Anwendungsvariable zurückgesetzt und Ihr Zähler wird auf Null zurückgesetzt. Beachten Sie die folgenden Punkte, um diesen Verlust zu vermeiden:

  • Definieren Sie eine Datenbanktabelle mit einer einzigen Anzahl, sagen wir hitcount. Weisen Sie ihm einen Nullwert zu.

  • Lesen Sie bei jedem Treffer die Tabelle, um den Wert von hitcount zu erhalten.

  • Erhöhen Sie den Wert von hitcount um eins und aktualisieren Sie die Tabelle mit einem neuen Wert.

  • Zeigt den neuen Wert von hitcount als Gesamtzahl der Seitentreffer an.

  • Wenn Sie Treffer für alle Seiten zählen möchten, implementieren Sie die obige Logik für alle Seiten.