English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
時には、あるページが訪問された回数を知る必要があります。その場合、ページにページ統計器を追加し、ユーザーが初めてページをロードしたときにページの訪問数を累積します。
カウンタを実現するために、アプリケーション暗黙のオブジェクトおよびgetAttribute()、setAttribute()メソッドを使用することができます。
このオブジェクトは、JSPページの全体のライフサイクルを表します。JSPページが初期化されたときにこのオブジェクトが作成され、JSPページがjspDestroy()を呼び出されたときにオブジェクトが削除されます。
アプリケーションで変数を作成するための文法は以下の通りです:
application.setAttribute(String Key, Object Value);
上記の方法を使用して、カウンタ変数を設定し、その値を更新することができます。変数の読み取り方法は以下の通りです:
application.getAttribute(String Key);
ページがアクセスされるたびに、カウンタの現在の値を読み取り、増加させることができます1、それから再設定し、次のユーザーがアクセスしたときに新しい値をページに表示します。
このサンプルでは、特定のページの訪問者数を計算する方法について説明します。あなたのウェブサイトで使用するページの総クリック数を計算する必要がある場合は、このコードをすべての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。以下のようになります:
上記の方法を使用すると、ウェブサーバーが再起動すると、カウンタがリセットされ、以前に保存されたデータが消失します。この問題を解決するための以下の方法があります:
データベース内に、ページの訪問数を統計するためのデータテーブル count を定義します。hitcount フィールドはデフォルト値0で、統計データをデータテーブルに書き込みます。
訪問ごとに hitcount フィールドを読み取ります。
訪問ごとに hitcount が自動的にインクリメントされます。 1。
新しい hitcount 値をページの訪問数としてページ上に表示します。
各ページの訪問数を統計する必要がある場合は、上記のロジックを使用してすべてのページにコードを追加することができます。