1. 程式人生 > >Java web之五-網站訪問統計

Java web之五-網站訪問統計

第一:利用application物件(or ServletContext Object)進行統計,得到的效果是每進入一次該網頁就統計一次
因為一般統計網頁訪問量,重新整理是不算進統計裡的,這裡就是這種缺點。

第二:利用application物件session物件來統計,
這種方法的原理是從開啟瀏覽器到關閉瀏覽器算是訪問一次,
重新整理、返回等操作不算做一次訪問。
但還是有缺陷,當jsp伺服器從新啟動時,資料也被清零了。

第三: 將統計資料儲存在本地的檔案當中,比如儲存在一個txt檔案當中。這是為了解決重啟伺服器之後資料不用擔心會丟失。

第四: 由session物件+application物件+txt文字

來實現網站的訪問統計。

第一步,寫個Servlet:

public class Counter extends HttpServlet{ 
 //寫入檔案的方法 
 public static void write2File(String filename, long count){ 
  try{ 
   PrintWriter out = new PrintWriter(new FileWriter(filename)); 
   out.println(count); 
   out.close(); 
  } catch (IOException e) { 
   // TODO: handle exception 
e.printStackTrace(); } } //讀檔案的方法 public static long readFromFile(String filename){ File file = new File(filename); long count = 0; if(!file.exists()){ try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } write2File(filename, 0
); } try{ BufferedReader in = new BufferedReader(new FileReader(file)); try{ count = Long.parseLong(in.readLine()); } catch (NumberFormatException e) { // TODO: handle exception e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { // TODO: handle exception e.printStackTrace(); } return count; } }

第二,在WebRoot目錄下建jsp檔案

```
<%@page import="org.servlet.count.Counter"%> 
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> 

<html> 
 <head> 
  <title>java 計數器程式</title> 
 </head> 
 <body> 
 <% 

 Counter CountFileHandler = new Counter(); 

 long count = 0; 

 if(application.getAttribute("count") == null){ 

  count = CountFileHandler.readFromFile(request.getRealPath("/") + "count.txt"); 

  application.setAttribute("count", new Long(count)); 
 }  

 count = (Long)application.getAttribute("count"); 

 if(session.isNew()){ 

  count++; 
  application.setAttribute("count", count); 

  //更新檔案目錄 
  CountFileHandler.write2File(request.getRealPath("/") + "count.txt",count); 

  } 
 %> 

 訪問人數:<%=count %> 
  </body> 
</html> 

相關推薦

Java web-網站訪問統計

第一:利用application物件(or ServletContext Object)進行統計,得到的效果是每進入一次該網頁就統計一次。 因為一般統計網頁訪問量,重新整理是不算進統計裡的,這裡就是這

Java webservlet

詳細講解 get() 註意 des api 一個 剛才 分享 ima 入坑必備之ser

JAVA web相關名詞大調查

個人 代碼風格 vbs repr 超文本 頁面 風格 jdbc jstl ●JavaBean:完成功能的處理。JDBC 是與數據庫進行交互不可缺>的技術。 JSTL和表達式語言EL:完成對JSP頁面中各種信息的控制和輸出。胖客戶端\收客戶端:胖客戶端程序指當一個程序運

apache配置網站訪問統計awstats

apache配置網站訪問統計awstat1、解壓縮awstas軟件2、建立配置文件3、在屏幕最下面輸入/usr/local/httpd/conf/httpd.confyy4、修改站點統計配置文件修改下面的兩項建立數據目錄5、執行日誌分析6、為了及時更新和更新方便,創建計劃任務在客戶機上訪問日誌分析系統http

Java Web) -- 事務 & 數據庫連接池 & DBUtiles

ML run count() lis into 銀行 定義數據 dao util #事務&數據庫連接池&DBUtils ##事務 > Transaction 其實指的一組操作,裏面包含許多個單一的邏輯。只要有一個邏輯沒有執行成功,那麽都算失敗。

Java WebJSTL標準標簽庫總結

right margin splay .com http 標簽庫 inf gin 文檔 [文檔整理系列] Java Web之JSTL標準標簽庫總結Java Web之JSTL標準標簽庫總結

開始Java web

啥都不說了,開始java web之旅! 本人18畢業生,7-10月分在一家公司幹了3個月前端,發現自己對前端並不感興趣!任性的我就裸辭了(其實是不好意思面試一次請一次假)!然後10月十幾號開始找java的工作,找了一個月發現自己的技能點兒不夠!果斷不在北京乾耗著,回家學點東西!至於生活

Java Web開發() JavaScript庫jQuery學習(3) jQuery與Ajax的應用(1)

  關於jQuery選擇器的知識這裡就先不介紹了,這裡向大家介紹一種比較厲害的技術,就是jQuery的Ajax應用,哈哈哈,我們當然先了解一些先進的技術啦,之後再為大家介紹jQuery選擇器和其他知識。 現在讓我們進入強大的jQuery的Ajax應用學習中吧。  

java web實驗室管理系統開發_會議主要記錄

課程實驗管理系統小組會議記錄 該系統的使用者暫時分為:系統管理員、老師、學生。(假若後期採用角色管理,則另行修改)。 系統具有下列特性:   1. 系統管理員可以新增、更新或刪除老師和班級的資訊。統計資料(上機人數、總的課時數、總實驗次數等)。 2. 老師可以新增、更新或刪除有關實驗的資訊(實驗目的、

java web專案如何限制訪問的ip訪問地址

JavaWeb專案限制IP訪問 這其實是一個類似IP地址的黑白名單問題,客戶端IP地址在黑名單的就禁止訪問,不在的就正常訪問; 提出這樣一個問題,大概就是感覺某些web應用在某些場合下要求一定的安全措施,這也算是安全審計的一種方法,可能是在應用執行過程中檢測到某些IP被高訪問伺服

java web路 controller引數繫結從前端頁面獲得資料

jsp頁面,controller,requestmapping controller中註解requestmapping表示接收這個請求,通過reture表示轉到那個jsp頁面上。 前端頁面將一組資料傳到controller可以通過定義一個<from action="

自定義Java web框架()

接續上一篇文章自定義Java web框架(四) 本章主要講解框架的初始化。 實現思路如下: 主要是把前幾篇文章中定義的相關幫助類初始化,類載入器助手類、Bean助手類、IOC助手類、Controller助手類。 核心程式碼如下: public final cla

java web 路:springmvc全域性異常處理

通常出現異常的處理方法:dao拋給server、server拋給controller、controller拋給前端控制,前端控制器呼叫全域性異常處理器。 全域性異常處理器處理思路: 解析出異常型別        如果是已知的異常,直接取出異常資訊,在錯誤頁頁面展示  

java web路 springMVC上傳圖片

jar包 commons-fileupload-xxx.jar commons-io-xxx.jar spring.xml配置 <bean id="multipartResolver" class="org.springframework.web.multi

Java WebTomcat

    Tomcat的下載安裝配置什麼的,百度一大把。現在介紹一下Tomcat的資料夾目錄結構。 瀏覽器訪問127.0.0.1:8080 出現Tomcat頁面即表示安裝成功。 這個就是Tomcat的目錄了 bin目錄:Tomcat的工具,啟動,關閉等功能 conf目錄:Tomcat的配置

Java WebHttp協議

  為什麼會出現HTTP協議?有什麼用?     HTTP各版本特點:         HTTP1.0版本  瀏覽器每向伺服器傳送一個請求,伺服器響應之後都會斷開,例如下圖,我的瀏覽器想訪問index.html檔案裡面的3

Java Web 檔案上傳與下載

本文包括: 1、檔案上傳概述 2、利用 Commons-fileupload 元件實現檔案上傳 3、核心API——DiskFileItemFactory 4、核心API——ServletFileUpload 5、核心API——FileItem 6、拓展——使用 JavaScript 生成多個動態上傳輸入項

java web面向介面程式設計

1.在類中呼叫介面的方法,而不關心具體的實現,有利於程式碼的解耦,有更好地可移植性和可擴充套件性!!!!! . //2.具體的方法流程 1配置servlet---2.構建Servlet的init()

2018-09-27封裝訪問修飾符

一.五種訪問修飾符 1.public [公開訪問] 公開的訪問許可權,當前類,子類,例項物件都可以訪問到。 2.private [私有訪問] 私有的訪問許可權,只能在當前類內部訪問使用;子類,例項物件都不能訪問。 3.protected [保護訪問] 受保