JSP - Contatore di visite
In questo capitolo, discuteremo del contatore di visite in JSP. Un contatore di visite ti dice il numero di visite su una particolare pagina del tuo sito web. Di solito alleghi un contatore di visite alla tua pagina index.jsp assumendo che le persone arrivino prima sulla tua home page.
Per implementare un contatore di visite è possibile utilizzare l'oggetto Application Implicit e i metodi associati getAttribute() e setAttribute().
Questo oggetto è una rappresentazione della pagina JSP attraverso il suo intero ciclo di vita. Questo oggetto viene creato quando la pagina JSP viene inizializzata e verrà rimosso quando la pagina JSP viene rimossa dajspDestroy() metodo.
Di seguito è riportata la sintassi per impostare una variabile a livello di applicazione:
application.setAttribute(String Key, Object Value);
È possibile utilizzare il metodo sopra per impostare una variabile del contatore di visite e per ripristinare la stessa variabile. Di seguito è riportato il metodo per leggere la variabile impostata dal metodo precedente:
application.getAttribute(String Key);
Ogni volta che un utente accede alla tua pagina, puoi leggere il valore corrente del contatore di visite e aumentarlo di uno e di nuovo impostarlo per un utilizzo futuro.
Esempio
Questo esempio mostra come utilizzare JSP per contare il numero totale di visite su una determinata pagina. Se vuoi contare il numero totale di visite del tuo sito web, dovrai includere lo stesso codice in tutte le pagine JSP.
<%@ 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>
Mettiamo ora il codice sopra in main.jsp e chiama questo JSP utilizzando l'URL http://localhost:8080/main.jsp. Questo visualizzerà il valore del contatore visite che aumenta man mano che si aggiorna la pagina. Puoi provare ad accedere alla pagina utilizzando browser diversi e scoprirai che il contatore di visite continuerà ad aumentare ad ogni colpo e riceverai il risultato come segue:
Welcome back to my website!
Total number of visits: 12
Reimposta contatore visite
Cosa succede quando riavvii la tua applicazione, cioè il server web, questo resetterà la variabile dell'applicazione e il tuo contatore si azzererà. Per evitare questa perdita, considera i seguenti punti:
Definisci una tabella di database con un singolo conteggio, diciamo hitcount. Assegnagli un valore zero.
Con ogni hit, leggi la tabella per ottenere il valore di hitcount.
Aumenta il valore di hitcount di uno e aggiorna la tabella con un nuovo valore.
Visualizza il nuovo valore di hitcount come conteggio totale degli accessi alla pagina.
Se vuoi contare gli hit per tutte le pagine, implementa la logica precedente per tutte le pagine.