場合によっては、特定のページが訪問された回数を知る必要があります。この場合、ページ訪問の統計は、通常、ユーザーが初めてページを読み込んだときに蓄積されます。
カウンターを実装するには、アプリケーションの暗黙的オブジェクトと関連メソッド getAttribute() および setAttribute() を使用できます。
このオブジェクトは、JSP ページのライフサイクル全体を表します。このオブジェクトは、JSP ページが初期化されるときに作成され、JSP ページが jspDestroy() を呼び出すときに削除されます。
アプリで変数を作成するための構文は次のとおりです。
application.setAttribute(文字列キー, オブジェクト値);上記のメソッドを使用して、カウンター変数を設定し、変数の値を更新できます。この変数を読み取る方法は次のとおりです。
application.getAttribute(文字列キー);ページにアクセスするたびに、カウンターの現在の値を読み取り、1 ずつ増分してリセットし、次回ユーザーがアクセスしたときに新しい値がページに表示されるようにすることができます。
この例では、JSP を使用して特定のページにアクセスした人の総数を計算する方法を紹介します。 Web サイトで使用されているページの合計クリック数を計算したい場合は、このコードをすべての JSP ページに配置する必要があります。
<%@ page import="java.io.*,java.util.*" %><html><head><title>JSP のアプリケーション オブジェクト</title></head><body><% Integer hitCount = (Integer)application.getAttribute("hitCounter"); if( HistCount ==null || HistCount == 0 ){ /* 初めての訪問*/ out.println("私の Web サイトへようこそ!"); = 1; }else{ /* アクセス値を返す */ out.println("ようこそ、私の Web サイトへ!"); } application.setAttribute("hitCounter", hitCount); p>合計訪問数: <%= hitCount%></p></center></body></html>
次に、上記のコードを main.jsp ファイルに配置し、 http://localhost:8080/main.jspファイルにアクセスします。ページがカウンターを生成し、ページを更新するたびにカウンターが変化することがわかります (更新するたびに 1 ずつ増加します)。 さまざまなブラウザからアクセスすることもでき、アクセスするたびにカウンタが 1 ずつ増加します。以下に示すように:
私のウェブサイトへようこそ!総訪問数: 12上記の方法を使用すると、Web サーバーが再起動された後、カウンターが 0 にリセットされます。つまり、以前に保持されていたデータは消去されます。この問題を解決するには、次の方法を使用できます。
Web ページの訪問数をカウントするためのデータ テーブル数をデータベースに定義します。hitcount のデフォルト値は 0 です。統計データをデータ テーブルに書き込みます。
アクセスするたびに、テーブル内の hitcount フィールドを読み取ります。
訪問するたびにヒットカウントが 1 ずつ増加します。
ページ上の新しい hitcount 値をページ ビュー数として表示します。
各ページへの訪問数をカウントする必要がある場合は、上記のロジックを使用してコードをすべてのページに追加できます。