通過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=https://127.0.0.1:8080/EasyCMS/pv.jsp border=0 width=0 height=0>");</script>
</body>
</html>
統計程序: pv.jsp
假設部署位置為https://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=https://127.0.0.1:8080/EasyCMS/pv.jsp border=0 width=0 height=0>");</script>
最後更新:2017-04-04 07:03:45