English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Статистика кликов JSP

Иногда нам нужно знать количество посещений определенной страницы, и в этом случае нам нужно добавить на страницу счетчик посещений, который一般在 первый раз добавляет количество посещений страницы.

Чтобы реализовать счетчик, вы можете использовать объекты приложения и методы getAttribute() и setAttribute().

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

Следующий синтаксис используется для создания переменных в приложении:

application.setAttribute(String Key, Object Value);

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

application.getAttribute(String Key);

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

Пример демонстрации

Этот пример покажет, как использовать JSP для расчета общего числа посещений определенной страницы. Если вы хотите рассчитать общее количество кликов на странице вашего сайта, вам необходимо поместить этот код на все 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("Привет! Пожалуйста, посещайте сайт основного руководства!");
       hitsCount = 1;
    }
       /* Возврат значения посещения */
       out.println("Добро пожаловать обратно на сайт основного курса!");
       hitsCount += 1;
    }
    application.setAttribute("hitCounter", hitsCount);
%>
<p>Количество посещений страницы: <%= hitsCount%></p>
</body>
</html>

Теперь мы поместим этот код в файл main.jsp и перейдем кhttp://localhost:8080/testjsp/main.jspФайл. Вы увидите, что страница генерирует счетчик, который изменяется при каждом обновлении страницы (увеличивается на 1 при каждом обновлении).

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

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

Используя этот метод, после перезагрузки веб-сервера, счетчик будет сброшен до 0, то есть все сохраненные данные будут утеряны, вы можете решить эту проблему следующим образом:

  • В базе данных определить таблицу count для статистики посещений веб-страниц, поле hitcount по умолчанию равно 0,写入统计数据 в таблицу.

  • Чтение поля hitcount из таблицы при каждом посещении.

  • Инкремент hitcount на 1 при каждом посещении.

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

  • Если вам нужно учитывать количество посещений каждой страницы, вы можете добавить этот код на все страницы.