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增加點擊次數的值,並用新的值來更新該表的值。
-
顯示點擊次數的新值作為總頁麵點擊計數。
-
如果你要計算命中在所有頁麵中,所有頁麵實現上述邏輯。