標籤:test 重新整理 變數 特定 代碼 local ref htm 網站
以下內容引用自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伺服器,這將重設應用程式變數,點擊計數器將重設為零。為了避免這種損失,可以用下面專業的方法實現點擊計數器:
測試工程:https://github.com/easonjim/5_java_example/tree/master/jspbasics/test14
JSP點擊計數器