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

Contagem de Clique JSP

Às vezes, precisamos saber o número de vezes que uma página foi acessada, então precisamos adicionar um contador de página na página. A contagem de acesso geralmente é acumulada no número de acessos da página na primeira vez que o usuário carrega a página.

Para implementar um contador, você pode usar o objeto implícito do aplicativo e os métodos getAttribute() e setAttribute().

Este objeto representa o ciclo de vida completo da página JSP. Ele é criado quando a página JSP é inicializada e deletado quando a página chama jspDestroy().

A sintaxe para criar uma variável no aplicativo é a seguinte:

application.setAttribute(String Key, Object Value);

Você pode usar o método acima para definir uma variável de contador e atualizar o valor dessa variável. O método para ler a variável é o seguinte:

application.getAttribute(String Key);

Cada vez que a página for acessada, você pode ler o valor atual do contador e incrementá-lo1,em seguida, redefinir, para que o novo valor seja exibido na página na próxima vez que o usuário acessar.

Exemplo de demonstração

Este exemplo mostrará como usar JSP para calcular o número total de visitantes de uma página específica. Se você quiser calcular o número total de cliques em páginas do seu site, você deve colocar este código em todas as páginas JSP.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<html>
<head>
<title>Contador de visitas</title>
</head>
<body>
<%
    Integer hitsCount = 
      (Integer)application.getAttribute("hitCounter");
    if( hitsCount ==null || hitsCount == 0 ){
       /* Primeira visita */
       out.println("Bem-vindo ao site de tutoriais básicos!");
       hitsCount = 1;
    }else{
       /* Retornar valor de acesso */
       out.println("Bem-vindo novamente ao site Tutoriais Básicos!");
       hitsCount += 1;
    }
    application.setAttribute("hitCounter", hitsCount);
%>
<p>Quantidade de acessos da página: <%= hitsCount %></p>/p>
</body>
</html>

Agora coloquemos o código acima no arquivo main.jsp e acessemoshttp://localhost:8080/testjsp/main.jspArquivo. Você verá que a página gerará um contador que mudará a cada vez que atualizarmos a página (a cada atualização aumentará)1)。

Você também pode acessar por diferentes navegadores, o contador aumentará após cada acesso1。

Resetar o contador

Usando o método acima, o contador será resetado para 0 após o reinício do servidor web, ou seja, os dados anteriormente armazenados serão perdidos, você pode resolver o problema da seguinte forma:

  • Defina uma tabela de dados count no banco de dados para contar o número de acessos da página, o campo hitcount tem valor padrão 0, e escreva os dados de contagem na tabela de dados.

  • Ler o campo hitcount da tabela a cada acesso

  • Incrementar o hitcount a cada acesso 1。

  • Exibir o novo valor de hitcount como o número de acessos da página.

  • Se você precisar de contar o número de acessos de cada página, você pode usar a lógica acima para adicionar o código a todas as páginas.