JSP - Contador de visitas

En este capítulo, discutiremos Hits Counter en JSP. Un contador de visitas le informa sobre el número de visitas en una página en particular de su sitio web. Por lo general, adjunta un contador de visitas con su página index.jsp asumiendo que las personas llegan primero a su página de inicio.

Para implementar un contador de visitas, puede hacer uso del objeto Application Implicit y los métodos asociados. getAttribute() y setAttribute().

Este objeto es una representación de la página JSP durante todo su ciclo de vida. Este objeto se crea cuando se inicializa la página JSP y se eliminará cuando la página JSP sea eliminada por eljspDestroy() método.

A continuación se muestra la sintaxis para establecer una variable a nivel de aplicación:

application.setAttribute(String Key, Object Value);

Puede utilizar el método anterior para establecer una variable de contador de visitas y restablecer la misma variable. A continuación se muestra el método para leer la variable establecida por el método anterior:

application.getAttribute(String Key);

Cada vez que un usuario accede a su página, puede leer el valor actual del contador de visitas y aumentarlo en uno y volver a configurarlo para uso futuro.

Ejemplo

Este ejemplo muestra cómo puede usar JSP para contar el número total de visitas en una página en particular. Si desea contar el número total de visitas de su sitio web, deberá incluir el mismo código en todas las páginas 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>

Pongamos ahora el código anterior en main.jsp y llamar a esta JSP usando la URL http://localhost:8080/main.jsp. Esto mostrará el valor del contador de visitas que aumenta a medida que actualiza la página. Puede intentar acceder a la página utilizando diferentes navegadores y encontrará que el contador de visitas seguirá aumentando con cada visita y recibirá el resultado de la siguiente manera:

Welcome back to my website!

Total number of visits: 12

Reinicio del contador de visitas

¿Qué ocurre cuando reinicia su aplicación, es decir, el servidor web, esto restablecerá la variable de su aplicación y su contador se restablecerá a cero? Para evitar esta pérdida, considere los siguientes puntos:

  • Defina una tabla de base de datos con un solo recuento, digamos hitcount. Asígnele un valor cero.

  • Con cada visita, lea la tabla para obtener el valor del recuento de visitas.

  • Aumente el valor del recuento de visitas en uno y actualice la tabla con un nuevo valor.

  • Muestra el nuevo valor del recuento de visitas como recuento total de visitas a la página.

  • Si desea contar las visitas de todas las páginas, implemente la lógica anterior para todas las páginas.