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の後に増加します。 次のように:


カウンターをリセットします

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

  • ページビューは、データベース内のデータテーブルをカウント統計情報を定義し、フィールドには、統計データは、データテーブルに書き込まれ、HitCountの各デフォルト値は0で、HitCountの各です。
  • あなたが私たちのテーブルにアクセスするとHitCountの各フィールドを読み取ることができます。

  • 毎回アクセスが1だけインクリメントさHitCountの各ましょう。
  • 新しい値HitCountの各がページを訪問したとしてページ上に表示されます。

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