Учебники

JSP — Счетчик хитов

В этой главе мы обсудим счетчик посещений в JSP. Счетчик посещений сообщает вам о количестве посещений определенной страницы вашего веб-сайта. Обычно вы прикрепляете счетчик посещений к своей странице index.jsp, предполагая, что люди впервые попадают на вашу домашнюю страницу.

Для реализации счетчика посещений вы можете использовать объект Application Implicit и связанные с ним методы getAttribute () и setAttribute () .

Этот объект является представлением страницы JSP на протяжении всего ее жизненного цикла. Этот объект создается при инициализации страницы JSP и удаляется при удалении страницы JSP методом jspDestroy () .

Ниже приведен синтаксис для установки переменной на уровне приложения.

application.setAttribute(String Key, Object Value);

Вы можете использовать описанный выше метод для установки переменной счетчика посещений и сброса той же самой переменной. Ниже приведен метод чтения переменной, установленной предыдущим методом:

application.getAttribute(String Key);

Каждый раз, когда пользователь заходит на вашу страницу, вы можете прочитать текущее значение счетчика посещений, увеличить его на единицу и снова установить для использования в будущем.

пример

В этом примере показано, как вы можете использовать JSP для подсчета общего количества посещений определенной страницы. Если вы хотите подсчитать общее количество посещений вашего сайта, вам нужно будет включить один и тот же код во все страницы 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>

Теперь давайте поместим приведенный выше код в main.jsp и вызовем этот JSP, используя URL-адрес http: // localhost: 8080 / main.jsp . Это отобразит значение счетчика посещений, которое увеличивается по мере обновления страницы. Вы можете попробовать получить доступ к странице с помощью различных браузеров, и вы увидите, что счетчик посещений будет увеличиваться с каждым попаданием, и вы получите результат следующим образом:

Welcome back to my website!

Total number of visits: 12

Welcome back to my website!

Total number of visits: 12

Сброс счетчика хитов

Что, когда вы перезапустите свое приложение, то есть веб-сервер, это сбросит переменную вашего приложения, и ваш счетчик обнулится. Чтобы избежать этой потери, рассмотрите следующие пункты —

Определите таблицу базы данных с одним счетчиком, скажем, Hitcount. Присвойте ему нулевое значение.

С каждым попаданием читайте таблицу, чтобы получить значение hitcount.

Увеличьте значение hitcount на единицу и обновите таблицу новым значением.

Отобразить новое значение количества посещений как общее число посещений страницы.

Если вы хотите посчитать хиты для всех страниц, примените вышеуказанную логику для всех страниц.