JSP頁面中實現網頁訪問量的統計

來源:互聯網
上載者:User

要想實現儲存訪問量資料,不能使用session,因為session是屬於同一個會話的,關閉瀏覽器後,資料就沒有了。因此可以使用application對象實現,因為application是屬於同一個瀏覽器下的,只要是使用同一個瀏覽器訪問,就可以儲存資料。但是要想永久儲存訪問量資料,可以將資料儲存在檔案中,例如txt檔案。

因此使用session對象+application對象+txt檔案

下面是實現過程:

建立一個Count.java類:

package com.sunlawer.servlet;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.PrintWriter;import javax.servlet.http.HttpServlet;/** * 統計訪問量 * @author sun * */public class Counter extends HttpServlet{private static final long serialVersionUID = 1L;/** * 寫入檔案的方法 * @param filename * @param count */public static void writeFile(String filename,long count){try{PrintWriter out=new PrintWriter(new FileWriter(filename));out.println(count);out.close();}catch(Exception e){e.printStackTrace();}}/** * 讀檔案的方法 * @param filename * @return */public static long readFromFile(String filename){File file=new File(filename);long count=0;if(!file.exists()){try{file.createNewFile();}catch(Exception e){e.printStackTrace();}writeFile(filename,0);}try{BufferedReader in=new BufferedReader(new FileReader(file));try{count=Long.parseLong(in.readLine());}catch(Exception e){e.printStackTrace();}}catch(FileNotFoundException e){e.printStackTrace();}return count;}}


在JSP頁面上顯示訪問量的實現

例如在anli.jsp檔案中:

<%      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.writeFile(request.getRealPath("/")+"count.txt", count);      }      %>      點擊量:<%=count %>



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.