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の各がページを訪問したとしてページ上に表示されます。
- 各ページへの訪問数が必要な場合は、すべてのページにコードを追加するために、上記のロジックを使用することができます。