JSP Compteur de visites

Parfois, nous avons besoin de savoir combien de fois une page a été visitée. Dans ce cas, nous devons ajouter un compteur de visites à la page. Le nombre de visites d'une page est généralement incrémenté lorsque l'utilisateur charge la page pour la première fois.

Pour implémenter un compteur, vous pouvez utiliser l'objet implicite application et les méthodes associées getAttribute() et setAttribute().

Cet objet représente tout le cycle de vie d'une page JSP. Il est créé lorsque la page JSP est initialisée et détruit lorsque la page JSP appelle jspDestroy().

Voici la syntaxe pour créer une variable dans l'application :

application.setAttribute(String Key, Object Value);

Vous pouvez utiliser les méthodes ci-dessus pour définir une variable de compteur et mettre à jour sa valeur. La méthode pour lire la variable est la suivante :

application.getAttribute(String Key);

Chaque fois que la page est accédée, vous pouvez lire la valeur actuelle du compteur, l'incrémenter de 1, puis la mettre à jour. La nouvelle valeur sera affichée sur la page lors de la prochaine visite d'un utilisateur.


Démo

Cet exemple montrera comment utiliser JSP pour compter le nombre total de visites d'une page spécifique. Si vous souhaitez compter le nombre total de visites de toutes les pages de votre site web, vous devez placer ce code sur toutes les pages JSP.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<html>
<head>
<title>访问量统计</title>
</head>
<body>
<%
    Integer hitsCount = 
      (Integer)application.getAttribute("hitCounter");
    if( hitsCount ==null || hitsCount == 0 ){
       /* 第一次访问 */
       out.println("欢迎访问Example!");
       hitsCount = 1;
    }else{
       /* 返回访问值 */
       out.println("欢迎再次访问Example!");
       hitsCount += 1;
    }
    application.setAttribute("hitCounter", hitsCount);
%>

<p>页面访问量为: <%= hitsCount%></p>


</body>
</html>

Maintenant, nous plaçons le code ci-dessus dans le fichier main.jsp et visitons le fichier à l'adressehttp://localhost:8080/testjsp/main.jsp. Vous verrez que la page génère un compteur. Chaque fois que nous actualisons la page, le compteur changera (augmenté de 1 à chaque actualisation).

Vous pouvez également y accéder à partir de différents navigateurs, et le compteur augmentera de 1 après chaque visite. Comme indiqué ci-dessous :


Réinitialiser le compteur

Avec la méthode ci-dessus, le compteur sera réinitialisé à 0 après le redémarrage du serveur web, ce qui signifie que toutes les données précédemment enregistrées disparaîtront. Vous pouvez utiliser les méthodes suivantes pour résoudre ce problème :

  • Définissez une table de données count dans la base de données pour compter les visites de pages web, avec un champ hitcount dont la valeur par défaut est 0, et écrivez les données statistiques dans la table de données.
  • À chaque visite, nous lisons le champ hitcount depuis la table.
  • Incrémentez hitcount de 1 à chaque visite.
  • Affichez la nouvelle valeur de hitcount sur la page comme nombre de visites de la page.
  • Si vous devez compter les visites pour chaque page, vous pouvez utiliser la logique ci-dessus pour ajouter le code à toutes les pages.
Autres extensions