JSP 클릭 통계
특정 페이지를 방문한 횟수를 알아야 하는 경우가 있습니다. 이 경우 페이지 방문 통계는 일반적으로 페이지 방문 횟수를 누적합니다. 사용자가 처음으로 로드합니다.
카운터를 구현하려면 애플리케이션 암시적 개체와 관련 메서드 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("欢迎访问php中文网!"); hitsCount = 1; }else{ /* 返回访问值 */ out.println("欢迎再次访问php中文网!"); hitsCount += 1; } application.setAttribute("hitCounter", hitsCount); %> <p>页面访问量为: <%= hitsCount%></p> </body> </html>
이제 위 코드를 main.jsp 파일에 배치하고 http://localhost:8080/testjsp/main.jsp 파일에 액세스합니다. 페이지가 카운터를 생성하고 페이지를 새로 고칠 때마다 카운터가 변경됩니다(새로 고칠 때마다 1씩 증가).
다른 브라우저를 통해서도 액세스할 수 있으며 방문할 때마다 카운터가 1씩 증가합니다. 아래와 같이카운터 재설정
위 방법을 사용하면 웹 서버 이후에 카운터가 재설정됩니다. 0이면 다시 시작됩니다. 즉, 다음 방법을 사용하여 이 문제를 해결할 수 있습니다.
웹 계산을 위해 데이터베이스에 데이터 테이블 수를 정의합니다. 페이지 방문수 필드는 hitcount이고 기본값은 0이며 통계 데이터가 데이터 테이블에 기록됩니다.
방문할 때마다 테이블의 조회수 필드를 읽습니다.
방문할 때마다 조회수가 1씩 증가합니다.
페이지에 새로운 hitcount 값을 페이지 조회수로 표시합니다.
각 페이지의 방문수를 계산해야 하는 경우 위 로직을 사용하여 모든 페이지에 코드를 추가할 수 있습니다.