位置:首頁 > Java技術 > JSP教學 > JSP網站計數器

JSP網站計數器

點擊計數器會告訴你關於你的網站的某個特定頁麵上的訪問次數。通常附加一個計數器在index.jsp頁麵假設人們對你的主頁第一訪問。

要實現一個計數器,您可以利用應用程序隱式對象和相關方法getAttribute() 和 setAttribute()方法。

這個對象是JSP頁麵在其整個生命周期中的表示。當JSP頁麵初始化時創建此對象,當JSP頁麵被jspDestroy()方法刪除。

以下是語法在應用程序級設置一個變量:

application.setAttribute(String Key, Object Value);

可以使用上述方法來設置一個計數器變量和重置同一個變量。以下是讀取由先前的方法設置變量的方法:

application.getAttribute(String Key);

每次使用訪問您的網頁,你可以讀計數器的當前值,並增加了一個,然後重新設置,以備將來使用。

例如:

這個例子顯示了如何使用JSP來計算點擊量的特定頁麵上的總人數。如果你要計算你的網站的總點擊量,那麼你就必須包括相同的代碼在所有的JSP頁麵。

<%@ page import="java.io.*,java.util.*" %>

<html>
<head>
<title>Applcation 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服務器,這將重置應用程序變量並且計數器將重置為零。為了避免這種丟失,你可以實現你的計數器在如下專業的方式:

  • 定義一個數據庫表用單一數,點擊次數指定零值給它。

  • 隨著每一擊,讀取表來獲得點擊次數的值。

  • 由1增加點擊次數的值,並用新的值來更新該表的值。

  • 顯示點擊次數的新值作為總頁麵點擊計數。

  • 如果你要計算命中在所有頁麵中,所有頁麵實現上述邏輯。