Jsp-hits-counter
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つ増やし、新しい値でテーブルを更新します。
- ヒット数の新しい値を合計ページヒット数として表示します。
- すべてのページのヒットをカウントする場合は、すべてのページに上記のロジックを実装します。