本文實例講述了JS+JSP通過img標簽調用實現靜態頁面訪問次數統計的方法。分享給大家供大家參考,具體如下:
測試頁面: test.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>test</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> this is a test page. <script type="text/javascript">document.write("<img src=http://127.0.0.1:8080/EasyCMS/pv.jsp border=0 width=0 height=0>");</script> </body> </html>
統計程序: pv.jsp:
假設部署位置為http://127.0.0.1:8080/EasyCMS/pv.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@page import="java.io.*"%> <% String path="/opt/test.txt"; writeNumber(String.valueOf(readNumber(path)+1),path); %> <%=readNumber(path) %> <%! /** * 寫入數字內容 * * @param number * @param filename * @return */ public boolean writeNumber(String number, String filename) { try { FileOutputStream fos = new FileOutputStream(filename); OutputStreamWriter writer = new OutputStreamWriter(fos); writer.write(number); writer.close(); fos.close(); } catch (IOException e) { e.printStackTrace(); return false; } return true; } /** * 讀取數字內容 * * @param filename * @return */ public int readNumber(String filename) { int number = 0; try { File file = new File(filename); if (file.exists()) { FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); String contents = br.readLine(); if (contents != null && contents.length() > 0) { contents = contents.replaceAll("[^0-9]", ""); number = Integer.valueOf(contents); } br.close(); fr.close(); } } catch (IOException e) { e.printStackTrace(); } return number; } %>
基本思想:
訪問靜態頁面時,通過img標簽指定src 為訪問統計的地址, img標簽向統計程序發出請求,實現統計.
統計示例代碼采用文件來記錄訪問次數,實際項目可以記錄數據庫.
關鍵代碼:
復制代碼 代碼如下:<script type="text/javascript">document.write("<img src=http://127.0.0.1:8080/EasyCMS/pv.jsp border=0 width=0 height=0>");</script>
希望本文所述對大家JavaScript程序設計有所幫助。