1. 程式人生 > >JavaWeb三大元件之一Servlet【訪問量統計-ServletContext的應用】

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 Talentsnext數組應用

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再相減,注意