JSP點選量(存取量)統計範例


在本章中,我們將在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