Latest web development tutorials

JSP 트래픽 통계

때로는 사용자가 처음로드 페이지를 방문한 횟수에 축적 될 때 우리는 일반적으로 페이지의 페이지 액세스 통계 페이지 수를 추가 할 필요가있는 페이지의 액세스 횟수를 알 필요가있다.

카운터를 구현하려면, 응용 프로그램 내장 객체 및 관련 방법에 대해 getAttribute ()과의 setAttribute ()를 사용하여 달성했다.

이 객체는 JSP 페이지의 전체 수명주기를 나타냅니다. JSP 페이지는 () jspDestroy를 호출 할 때이 객체는 JSP 페이지가 초기화 될 때 생성되는 개체가 삭제됩니다.

다음 변수는 응용 프로그램 구문으로 작성됩니다

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으로 리셋된다 :

  • 페이지 뷰는 데이터베이스의 데이터 테이블을 계산 통계 정의 필드는 통계 데이터를 데이터 테이블에 기록된다 hitcount 디폴트 값은 0, hitcount이다.
  • 당신이 우리의 테이블을 방문 할 때 hitcount 필드를 읽을 수 있습니다.

  • 마다 액세스가 하나씩 증가 hitcount하자.
  • 새 값 hitcount 페이지를 방문한으로 페이지에 표시됩니다.

  • 각 페이지에 방문 횟수를해야하는 경우에는 모든 페이지에 코드를 추가하려면 위의 논리를 사용할 수 있습니다.