English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
때때로 우리는 특정 페이지가 얼마나 많이 방문되는지 알아야 할 때가 있습니다. 이 경우, 페이지에 페이지 통계기를 추가해야 하며, 일반적으로 사용자가 페이지를 처음으로 로드할 때 페이지 방문 횟수를 누적합니다.
카운터를 구현하려면, 응용 프로그램 은닉 객체와 getAttribute() 및 setAttribute() 메서드를 사용하여 구현할 수 있습니다.
이 객체는 JSP 페이지의 전체 생명주기를 나타냅니다. JSP 페이지가 초기화될 때 이 객체가 생성되고, JSP 페이지가 jspDestroy()를 호출할 때 이 객체가 제거됩니다.
응용 프로그램에서 변수를 생성하는 문법은 다음과 같습니다:
application.setAttribute(String Key, Object Value);
위의 방법을 사용하여 카운터 변수를 설정하고 그 값을 업데이트할 수 있습니다. 변수를 읽는 방법은 다음과 같습니다:
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; } else { /* 방문 횟수 반환 */ 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 값을 페이지 방문 횟수로 페이지에 표시합니다.
만약 각 페이지의 방문 횟수를 통계를 취하고 싶다면, 이 상위 로직을 모든 페이지에 추가할 수 있습니다.