JavaWeb三大元件之一Servlet【訪問量統計-ServletContext的應用】
需求
一個專案中所有的資源被訪問都要對訪問量進行累加!
簡單實現
建立一個int型別的變數,用來儲存訪問量,然後把它儲存到ServletContext的域中,這樣可以儲存所有的Servlet都可以訪問到!
- 最初時,ServletContext中沒有儲存訪問量相關的屬性;
- 當本站第一次被訪問時,建立一個變數,設定其值為1;儲存到ServletContext中;
- 當以後的訪問時,就可以從ServletContext中獲取這個變數,然後在其基礎之上加1。
- 獲取ServletContext物件,檢視是否存在名為count的屬性,如果存在,說明不是第一次訪問,如果不存在,說明是第一次訪問;
- 第一次訪問:呼叫Servletcontext的setAttribute()傳遞一個屬性,名為count,值為1;
- 第2~N次訪問:呼叫ServletContext的getAttribute()方法獲取原來的訪問量,給訪問量加1,再呼叫Servletcontext的setAttribute()方法完成設定。
相信各位一定見過很多訪問量統計的網站,即“本頁面被訪問過XXX次”。因為無論是哪個使用者訪問指定頁面,都會累計訪問量,所以這個訪問量統計應該是整個專案共享的!很明顯,這需要使用ServletContext來儲存訪問量。
//獲取ServletContext物件
ServletContext application = this.getServletContext();
//獲取ServletContext物件中的count屬性
Integer count = (Integer)application.getAttribute("count") ;
if(count == null) {
//如果在ServletContext中不存在count屬性,那麼設定count的值為1,表示第一次被訪問。
count = 1;
} else {
//如果在ServletContext中存在count屬性,說明以前被訪問過,那麼讓count在原來的基礎上加1。
count++ ;
}
response.setContentType("text/html;charset=utf-8");
//向客戶端響應本頁面被訪問的次數。
response.getWriter().print("<h1>本頁面一共被訪問" + count + "次!</h1>") ;
//儲存count的值到ServletContext物件中。
application.setAttribute("count", count);
相關推薦
JavaWeb三大元件之一Servlet【訪問量統計-ServletContext的應用】
需求 一個專案中所有的資源被訪問都要對訪問量進行累加! 簡單實現 建立一個int型別的變數,用來儲存訪問量,然後把它儲存到ServletContext的域中,這樣可以儲存所有的Servlet都可以訪問到! 最初時,ServletContext中沒有
Javaweb三大元件之Servlet
Javaweb開發中有很重要的三個元件分別是:Servlet,Filter,Listener。這些元件在Javaweb的開發中起著不同且至關重要的作用,而我們常用的web框架基本都是基於這些基礎元件進行封裝之後的用法,所以對於這些原生的方式進行Javaweb開發也要需要了解的
web三大元件之一——Servlet
1. 什麼是Servlet * Servlet是JavaWeb三大元件之一(Servlet、Filter、Listener) * Servlet是用來處理客戶端請求的動態資源 * Serv
JavaWeb三大元件(Servlet、Filter、Listener)
JavaWeb三大元件指的是:Servlet、Filter、Listener,這三個元件在JavaWeb開發中分別提供不同的功能,然而很多人可能只用過其中一個或者兩個(Servlet、Filter,比如我),很難接觸到第三個元件,因此對原始JavaWeb開
【springmvc 的請求流程二】:(springmvc 的三大元件之一)處理器對映器的配置和通過處理器對映器返回請求鏈的原始碼流程
總結 策略模式,每一種對映器方案都提供了對url 的解析的方案都是不同的 DispatcherServlet 拿著執行鏈去尋找對應的處理器介面卡(HandlerAdapter)為什麼要引入介面卡?因為處理器(Handler)有很多種,DispatcherServlet
JavaWeb三大元件——Servlet、Filter、Listener
JavaWeb三大元件指的是:Servlet、Filter、Listener,這三個元件在JavaWeb開發中分別提供不同的功能,然而很多人可能只用過其中一個或者兩個(Servlet、Filter,比如我),很難接觸到第三個元件,因此對原始JavaWeb開發還不夠熟悉,在這
JavaWeb三大元件 —— Listener監聽器——生命週期監聽器(3個)
目錄 1、JavaWeb八大監聽器概述 2、生命週期監聽器(3個) 3、操作域屬性的監聽器(3個) 4、相關HttpSession的感知監聽器(2個) ==============================================
Mapreduce三大元件之一Partitioner——實現自定義分割槽
MapReduce中資料流動 (1)最簡單的過程: map - reduce (2)定製了partitioner以將map的結果送往指定reducer的過程: map - partition - reduce (3)增加了在本地先進性一次reduce(優化)
JavaWeb三大元件之Listener
三大元件:Servlet、 Listener、Filter Java中用到監聽器的地方:AWT、SAX,監聽器中肯定有事件源、事件、監聽器。監聽器註冊到事件源,當事件源發生某件特定的事兒的時候,就觸發註冊的監聽器,呼叫監聽器的相應的方法。 JavaWeb中的監聽器 l
Web三大元件之 —— servlet
本文純屬於個人觀點,如果有不對的地方,還請各位看官多加批評指正,完善我的知識體系。 應用程式:包括 Web 應用程式 和 非 Web 應用程式。 Web應用程式:是一種部署在伺服器上,可以通過Web(瀏覽器)訪問的應用程式。程式的最大好處是使用者很容易訪問應用程式,不需要
Web 專案 tiger 之12 註冊 Servlet 三大元件之 Servlet
本文導讀 Spring Boot 由於預設以 Jar 包方式啟動嵌入式的 Servlet 容器來啟動 Spring Boot 的 web 應用,沒有 web.xml 檔案,所以無法再像以前一樣通過在 web.xml 配置來使用 Servlet ,但是 Spring Bo
JavaWeb三大元件
1 Servlet 1.1 生命週期方法 1.1.1 void init(ServletConfig): 載入和例項化:當客戶端傳送一個請求時,Servlet容器(Tomcat)會查詢記憶體中是否存在Servlet例項,如果不存在,就建立一個Servlet例項。如果存在Se
JavaWeb三大元件之監聽器Listener
JavaWeb元件 三大元件 Servlet Listener Filter JavaWeb監聽器 三大域 ServletContext HttpSession ServletRequest 監聽器 生命週期監聽 (兩個方法) 屬性監
JavaWeb重修(二)【Idea 部署 Tomcat伺服器】
關於tomcat伺服器的一些配置,規範啊啥的先不慌寫,先在編譯環境裡用用tomcat伺服器,具體的tomcat伺服器的配置,規範啊啥的知識點先不介紹,先能把這個環境跑通。一、安裝IntelliJ IDE
UVA10008 What's Cryptanalysis?【字元統計+sort】
Cryptanalysis is the process of breaking someone else’s cryptographic writing. This sometimes involvessome kind of statistical analysis o
CF733F Drivers Dissatisfaction【鏈剖】【最小生成樹應用】
F. Drivers Dissatisfaction time limit per test 4 seconds memory limit per test 256 megabytes input s
HDU_2082 找單詞 【母函式的應用】
題目: 假設有x1個字母A, x2個字母B,..... x26個字母Z,同時假設字母A的價值為1,字母B的價值為2,..... 字母Z的價值為26。那麼,對於給定的字母,可以找到多少價值<=50的單詞呢?單詞的價值就是組成一個單詞的所有字母的價值之和,比如,單詞ACM的價值是1+3+14=
hdu2594 Simpsons' Hidden Talents【next數組應用】
unsigned %d contest cat pso %s ann pan field Simpsons’ Hidden Talents Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768
LNSYOJ203最大值【樹狀陣列應用】【做題報告+樹狀陣列深刻理解】
這道題是一個典型的樹狀陣列查詢有幾個比某個數大/小的數的應用 題目描述 給定NN個區間,選定一個固定整數值TT,對於一個區間[ai,bi][ai,bi]. 如果T<aiT<ai,那麼T在這個區間的得分為X, 如果T>biT>bi,那麼T在這個區間的得分為Z, 如果ai≤
hdu 4135 Co-prime 【容斥定理應用】
題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=4135 容斥定理求一個區間內與n互素的數有幾個; 和模板差不多,只是區間 [1,R] 變成 [L,R],所以可以求出 [1,L] 和 [1,R] 的互素的數的shu'lian再相減,注意