Java Web實現統計網站使用者訪問量並持久化的問題
阿新 • • 發佈:2019-02-04
Session 是一次會話的區域性儲存,所以我們要使用Application的全域性儲存。
1、可以通過實現ServletContextListener 介面,重寫
contextDestroyed(ServletContextEvent arg0)
contextInitialized(ServletContextEvent arg0)
在初始化的時候進行持久化讀取,銷燬的時候持久化儲存,至於放在檔案還是資料庫則是設計的事情了
coding:
@WebListener
public class CountListener implements ServletContextListener {
/**
* 銷燬
*/
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("儲存現有的使用者訪問量");
}
/**
* 建立
*/
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("讀取過去所有的網站訪問量");
}
}
2、可以在資料庫中新建一個表儲存和網站訪問量相關的資料,最簡單的就是一個visitcount表中包含一個欄位count,當用戶訪問網站首頁面時候,更新count+1,並且讀取出來放在application中。
request.getServletContext().setAttribute("counter", counter);
然後在頁面中顯示。
資料庫設計的足夠詳細,可以統計網站中不同頁面的訪問量和物理裝置的訪問量。