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

JSP クリック数統計

時には、あるページが訪問された回数を知る必要があります。その場合、ページにページ統計器を追加し、ユーザーが初めてページをロードしたときにページの訪問数を累積します。

カウンタを実現するために、アプリケーション暗黙のオブジェクトおよびgetAttribute()、setAttribute()メソッドを使用することができます。

このオブジェクトは、JSPページの全体のライフサイクルを表します。JSPページが初期化されたときにこのオブジェクトが作成され、JSPページがjspDestroy()を呼び出されたときにオブジェクトが削除されます。

アプリケーションで変数を作成するための文法は以下の通りです:

application.setAttribute(String Key, Object Value);

上記の方法を使用して、カウンタ変数を設定し、その値を更新することができます。変数の読み取り方法は以下の通りです:

application.getAttribute(String Key);

ページがアクセスされるたびに、カウンタの現在の値を読み取り、増加させることができます1、それから再設定し、次のユーザーがアクセスしたときに新しい値をページに表示します。

サンプルデモ

このサンプルでは、特定のページの訪問者数を計算する方法について説明します。あなたのウェブサイトで使用するページの総クリック数を計算する必要がある場合は、このコードをすべての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。以下のようになります:

カウンタリセット

上記の方法を使用すると、ウェブサーバーが再起動すると、カウンタがリセットされ、以前に保存されたデータが消失します。この問題を解決するための以下の方法があります:

  • データベース内に、ページの訪問数を統計するためのデータテーブル count を定義します。hitcount フィールドはデフォルト値0で、統計データをデータテーブルに書き込みます。

  • 訪問ごとに hitcount フィールドを読み取ります。

  • 訪問ごとに hitcount が自動的にインクリメントされます。 1。

  • 新しい hitcount 値をページの訪問数としてページ上に表示します。

  • 各ページの訪問数を統計する必要がある場合は、上記のロジックを使用してすべてのページにコードを追加することができます。