在本章中,我們將在JSP中討論如何實現點選量統計。 點選計數器用於統計有關網站的特定頁面上的存取次數。假設人們首先登陸網站主頁,通常是index.jsp
頁面中有點選計數器。
要實現一個點選計數器,可使用Application隱式物件和關聯的getAttribute()
和setAttribute()
方法。
該物件是JSP頁面在其整個生命週期中的表示。 當JSP頁面被初始化時,將建立此物件,並且在JSP頁面被jspDestroy()
方法刪除時將被刪除。
以下是在應用程式級別設定變數的語法 -
application.setAttribute(String Key, Object Value);
可以使用上述方法設定命中計數器變數並重置相同的變數。以下是讀取以前方法設定的變數的方法 -
application.getAttribute(String Key);
每當使用者存取頁面時,可以讀取點選計數器的當前值並將其新增1
,並再次設定它以供將來使用。
此範例顯示如何使用JSP來計算特定頁面上的匹配總數。如果想計算網站的總點選次數,那麼需要在所有JSP頁面中包含相同的程式碼。
開啟 Eclipse 建立一個動態Web專案:HitsCounter ,其專案中的JSP檔案如下所示 -
檔案:index.jsp -
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>頁面點選統計</title>
</head>
<body>
<div style="margin: auto; width: 80%">
<%
Integer hitsCount = (Integer) application.getAttribute("hitCounter");
if (hitsCount == null || hitsCount == 0) {
/* First visit */
out.println("歡迎您來到我的網站!");
hitsCount = 1;
} else {
/* return visit */
out.println("歡迎您再次存取我的網站!");
hitsCount += 1;
}
application.setAttribute("hitCounter", hitsCount);
%>
<center>
<p>
存取總數:<%=hitsCount%></p>
</center>
</div>
</body>
</html>
在編寫完成以上程式碼後,部署專案並存取以下URL: http://localhost:8080/HitsCounter/index.jsp
,應該會看到以下結果 -
再次重新整理上面的網址,應該會看到以下結果-
複製以上index.jsp中的程式碼,放到另一個JSP檔案:index2.jsp檔案中,然後存取: http://localhost:8080/HitsCounter/index2.jsp
,應該會看到以下結果 -
可以看到存取總數為:3