詳細JSP課程:阿里雲大學——開發者課堂
有時候咱們須要知道某個頁面被訪問的次數,這時咱們就須要在頁面上添加頁面統計器,頁面訪問的統計通常在用戶第一次載入時累加該頁面的訪問數上。
要實現一個計數器,您能夠利用應用程序隱式對象和相關方法getAttribute()和setAttribute()來實現。
這個對象表示JSP頁面的整個生命週期中。當JSP頁面初始化時建立此對象,當JSP頁面調用jspDestroy()時刪除該對象。
如下是在應用中建立變量的語法:html
application.setAttribute(String Key, Object Value);
您能夠使用上述方法來設置一個計數器變量及更新該變量的值。讀取該變量的方法以下:java
application.getAttribute(String Key);
在頁面每次被訪問時,你能夠讀取計數器的當前值,並遞增1,而後從新設置,在下一個用戶訪問時就將新的值顯示在頁面上。web
該實例將介紹如何使用JSP來計算特定頁面訪問的總人數。若是你要計算你網站使用頁面的總點擊量,那麼你就必須將該代碼放在全部的JSP頁面上。數據庫
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="java.io.*,java.util.*" %><html><html><head><title>訪問量統計</title></head><body><% Integer hitsCount = (Integer)application.getAttribute("hitCounter"); if( hitsCount ==null || hitsCount == 0 ){ /* 第一次訪問 */ out.println("歡迎訪問阿里雲大學!"); hitsCount = 1; }else{ /* 返回訪問值 */ out.println("歡迎再次訪問阿里雲大學!"); hitsCount += 1; } application.setAttribute("hitCounter", hitsCount);%><p>頁面訪問量爲: <%= hitsCount%></p></body></html>
如今咱們將上面的代碼放置於main.jsp文件上,並訪問http://localhost:8080/testjsp/main.jsp文件。你會看到頁面會生成個計數器,在咱們每次刷新頁面時,計數器都會發生變化(每次刷新增長1)。服務器
使用以上方法,在 web 服務器重啓後,計數器會被複位爲 0,即前面保留的數據都會消失,你能夠使用如下幾種方式解決該問題:
• 在數據庫中定義一個用於統計網頁訪問量的數據表 count,字段爲 hitcount,hitcount 默認值爲0,將統計數據寫入到數據表中。
• 在每次訪問時咱們讀取表中 hitcount 字段。app
• 每次訪問時讓 hitcount 自增 1。
• 在頁面上顯示新的 hitcount 值做爲頁面的訪問量。less
• 若是你須要統計每一個頁面的訪問量,你能夠使用以上邏輯將代碼添加到全部頁面上。jsp
詳細JSP課程:阿里雲大學——開發者課堂網站