Jsp-hits-counter

提供:Dev Guides
移動先:案内検索

JSP-ヒットカウンター

この章では、JSPのヒットカウンターについて説明します。 ヒットカウンターは、Webサイトの特定のページへのアクセス数を示します。 通常、ユーザーが最初にホームページにアクセスすると想定して、index.jspページにヒットカウンターを添付します。

ヒットカウンターを実装するには、Application Implicitオブジェクトと関連メソッド* getAttribute()および setAttribute()*を使用できます。

このオブジェクトは、ライフサイクル全体にわたるJSPページの表現です。 このオブジェクトは、JSPページが初期化されるときに作成され、JSPページが* jspDestroy()*メソッドによって削除されると削除されます。

以下は、アプリケーションレベルで変数を設定するための構文です-

application.setAttribute(String Key, Object Value);

上記の方法を使用して、ヒットカウンター変数を設定し、同じ変数をリセットできます。 以下は、前の方法で設定された変数を読み取る方法です-

application.getAttribute(String Key);

ユーザーがページにアクセスするたびに、ヒットカウンターの現在の値を読み取り、1ずつ増やして、将来の使用に備えて再度設定できます。

この例は、JSPを使用して特定のページのヒットの総数をカウントする方法を示しています。 Webサイトのヒットの総数をカウントする場合は、すべてのJSPページに同じコードを含める必要があります。

<%@ page import = "java.io.*,java.util.*" %>

<html>
   <head>
      <title>Application object in JSP</title>
   </head>

   <body>
      <%
         Integer hitsCount = (Integer)application.getAttribute("hitCounter");
         if( hitsCount ==null || hitsCount == 0 ) {
           /*First visit*/
            out.println("Welcome to my website!");
            hitsCount = 1;
         } else {
           /*return visit*/
            out.println("Welcome back to my website!");
            hitsCount += 1;
         }
         application.setAttribute("hitCounter", hitsCount);
      %>
      <center>
         <p>Total number of visits: <%= hitsCount%></p>
      </center>

   </body>
</html>

上記のコードを main.jsp に配置し、URL http://localhost:8080/main.jsp を使用してこのJSPを呼び出します。 これにより、ページを更新すると増加するヒットカウンター値が表示されます。 あなたは別のブラウザを使用してページにアクセスしてみて、ヒットカウンタがヒットごとに増加し続け、次のように結果を受け取ることがわかります-

Welcome back to my website!
Total number of visits: 12

カウンターリセットのヒット

アプリケーション、つまりWebサーバーを再起動すると、アプリケーション変数がリセットされ、カウンターがゼロにリセットされます。 この損失を避けるために、次の点を考慮してください-

  • 単一のカウントでデータベーステーブルを定義します。ヒットカウントとしましょう。 ゼロ値を割り当てます。
  • ヒットするたびに、テーブルを読み取ってhitcountの値を取得します。
  • hitcountの値を1つ増やし、新しい値でテーブルを更新します。
  • ヒット数の新しい値を合計ページヒット数として表示します。
  • すべてのページのヒットをカウントする場合は、すべてのページに上記のロジックを実装します。