JSP 點選量統計
有時候我們需要知道某個頁面被通路的次數,這時我們就需要在頁面上添加頁面統計器,頁面通路的統計一般在使用者第一次載入時累加該頁面的通路數上。
要實作一個計數器,您可以利用應用程式隐式對象和相關方法getAttribute()和setAttribute()來實作。
這個對象表示JSP頁面的整個生命周期中。當JSP頁面初始化時建立此對象,當JSP頁面調用jspDestroy()時删除該對象。
以下是在應用中建立變量的文法:
application.setAttribute(String Key, Object Value);
您可以使用上述方法來設定一個計數器變量及更新該變量的值。讀取該變量的方法如下:
application.getAttribute(String Key);
在頁面每次被通路時,你可以讀取計數器的目前值,并遞增1,然後重新設定,在下一個使用者通路時就将新的值顯示在頁面上。
執行個體示範
該執行個體将介紹如何使用JSP來計算特定頁面通路的總人數。如果你要計算你網站使用頁面的總點選量,那麼你就必須将該代碼放在所有的JSP頁面上。
pageEncoding="UTF-8"%>
通路量統計
Integer hitsCount =
(Integer)application.getAttribute("hitCounter");
if( hitsCount ==null || hitsCount == 0 ){
out.println("歡迎通路菜鳥教程!");
hitsCount = 1;
}else{
out.println("歡迎再次通路菜鳥教程!");
hitsCount += 1;
}
application.setAttribute("hitCounter", hitsCount);
%>
頁面通路量為:
現在我們将上面的代碼放置于main.jsp檔案上,并通路http://localhost:8080/testjsp/main.jsp檔案。你會看到頁面會生成個計數器,在我們每次重新整理頁面時,計數器都會發生變化(每次重新整理增加1)。
你也可以通過不同的浏覽器通路,計數器會在每次通路後增加1。如下所示:

複位計數器
使用以上方法,在 web 伺服器重新開機後,計數器會被複位為 0,即前面保留的資料都會消失,你可以使用以下幾種方式解決該問題:
在資料庫中定義一個用于統計網頁通路量的資料表 count,字段為 hitcount,hitcount 預設值為0,将統計資料寫入到資料表中。
在每次通路時我們讀取表中 hitcount 字段。
每次通路時讓 hitcount 自增 1。
在頁面上顯示新的 hitcount 值作為頁面的通路量。
如果你需要統計每個頁面的通路量,你可以使用以上邏輯将代碼添加到所有頁面上。