JSP點擊計數器


以下內容引用自http://wiki.jikexueyuan.com/project/jsp/hits-counter.html

一個點擊計數器能得知關於網站某個特定頁面的訪問量。假設人們第一次登陸主頁,通常在index.jsp頁面上設置一個點擊計數器。

可以使用Application隱式對象和相關方法getAttribute()和setAttribute()實現一個點擊計數器。

這個對象通過其整個生命周期來表示此JSP頁面。初始化這個對象時創建JSP頁面,當此JSP頁面被jspDestroy()方法刪除時該對象也被刪除。

以下是在應用層設置變量的語法:

application.setAttribute(String Key, Object Value);

可以使用上述的方法設置點擊計數器的變量或者重置相同的變量。接下來描述的是一個方法,該方法是讀取先前方法設置的變量。

application.getAttribute(String Key);

每次用戶訪問網頁,可以讀取點擊計數器的當前值,增加1並且再次設置點擊計數器作為以后使用。

示例:

這個例子展示了如何使用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。每當刷新該頁面時,這將顯示的點擊計數器值會增加。可以嘗試使用不同的瀏覽器訪問該網頁,會發現每次點擊計數器將增加,顯示的結果如下:

計數器重置

如果重新啟動應用程序如Web服務器,這將重置應用程序變量,點擊計數器將重置為零。為了避免這種損失,可以用下面專業的方法實現點擊計數器:

  • 定義一個帶有單一計數的數據庫表,叫做點擊量。設置它的值為0。

  • 每次點擊,讀取該表得到點擊量的值。

  • 點擊量加1,更新該表中的值。

  • 顯示點擊計數器的新值作為總頁面的點擊量。

  • 如果想計算所有頁面的點擊量,對所有的頁面實現上面的邏輯。

 

測試工程:https://github.com/easonjim/5_java_example/tree/master/jspbasics/test14


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM