標籤:style blog http color java 使用 io 資料
在做網站的時候,經常需要統計有多少人訪問過本網站,統計人數應當根據是否是一個新的回話來判斷是否是一個新訪問網站的使用者.application對象就可以儲存訪問人數.
關於application對象:application對象用來在多個程式或者多個使用者之間共用資料,使用者使用的application對象都是一樣的.這與session不同.伺服器一旦啟動,就會自動建立application對象,並一直儲存下去,直到伺服器關閉,application對象自動消失.下面就是利用application對象實現一個網站計數器,代碼如下:
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <body> 5 <%! 6 synchronized void count(){ //使用sychronized關鍵字對該函數進行序列化, 7 //確保當兩個使用者同時訪問網頁而修改計數值時不會有衝突. 8 ServletContext application = ((HttpServlet)(this)).getServletContext(); 9 Integer count = (Integer)application.getAttribute("count");10 11 if(count==null){12 count = new Integer(1);13 application.setAttribute("count",count);14 }else{15 count = new Integer(count.intValue()+1);16 application.setAttribute("count",count);17 }18 } 19 %>20 21 <%22 if(session.isNew()){ //判斷是否為一個新的回話.23 count();24 out.println("你是第"+application.getAttribute("count")+"個訪問本網站");25 }26 %>27 </body>28 </html>