JSP クリック統計


特定のページが訪問された回数を知る必要がある場合、通常、ページ訪問の統計は、ユーザーが最初にページを読み込んだときに蓄積されます。時間。

カウンターを実装するには、アプリケーションの暗黙的オブジェクトと関連メソッド getAttribute() および setAttribute() を使用してそれを実現できます。

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

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

application.setAttribute(String Key, Object Value);

上記のメソッドを使用して、カウンター変数を設定し、変数の値を更新できます。この変数を読み取る方法は次のとおりです:

application.getAttribute(String Key);

ページにアクセスするたびに、カウンターの現在の値を読み取り、1 ずつ増分してからリセットし、次のアクセス時にページに新しい値を表示できます。ユーザーがアクセスします。


サンプルデモンストレーション

このサンプルでは、​​JSP を使用して特定のページにアクセスした人の総数を計算する方法を紹介します。 Web サイトで使用されているページの合計クリック数を計算したい場合は、このコードをすべての 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 ずつ増加します。以下に示すように:



カウンターをリセット

上記の方法を使用すると、Webサーバーの再起動後にカウンターが0にリセットされます。つまり、以前に保持されていたデータが消去されます。この問題を解決するには次の方法があります。 質問:

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

  • 訪問するたびに、テーブル内の hitcount フィールドを読み取ります。


  • 訪問するたびにヒットカウントが1ずつ増加します。

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


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