• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    springboot實現網站用戶訪問量

          Spring Boot是由Pivotal團隊供給的全新框架,其設計目標是用來簡化新Spring應用的初始搭建以及開辟過程。該框架利用了特心猿意馬的體例來進行設置裝備擺設,從而使開辟人員不再需要界說樣板化的設置裝備擺設。經由過程這種體例,Spring Boot致力于在蓬勃成長的快速應用開辟范疇(rapid application development)當作為帶領者。

          此次實現需要借助于ServletRequestListener獲取用戶拜候信息,統計拜候次數和

    ServletContextListener實此刻辦事器啟動和封閉時初始化加載持久化數據。

    東西/原料

    • 電腦
    • intellij IDEA

    方式/步調

    1. 1

      第一步調:建立一個springboot的項目(也可以建立一個簡答的java項目)。

      1、 打開建立頁面 選擇File-new-project..

      2、選擇建立的項目為spring initializr 進入springboot項目建立步調(也可以選擇類型java,建立一個通俗java項目)

      3、輸入項目名字,選擇依靠web(按照項目需求選擇,此次需要),選擇存放目次-完當作(Finish)

    2. 2

      第二步調:實現ServletContextListener監聽器。

      1、借助于contextInitialized方式在辦事器啟動時加載數據

      2、借助于contextDestroyed方式在辦事器封閉時持久化數據

      3、具體代碼如下所示:

      import javax.servlet.ServletContext;

      import javax.servlet.ServletContextEvent;

      import javax.servlet.ServletContextListener;

      import javax.servlet.annotation.WebListener;

      @WebListener

      public class VisitorVolumeContexListener implements ServletContextListener {    

      @Override    

      public void contextInitialized(ServletContextEvent servletContextEvent) {  

      System.out.println("VisitorVolumeContexListener.contextDestroyed()");        //取得ServletContext操尷尬刁難象        

      ServletContext application = servletContextEvent.getServletContext();        //取得數據   獲取持久層的數據返回,一般是數據庫或者是一個文件中存放放值        

      Integer clientCount = 5;        

      application.setAttribute("clientCount",clientCount);    }    

      @Override    

      public void contextDestroyed(ServletContextEvent servletContextEvent) { 

      System.out.println("VisitorVolumeContexListener.contextInitialized()");        ServletContext application = servletContextEvent.getServletContext();        //在辦事器封閉之前將,網站當前拜候量存入持久層        

      Integer clientCount = (Integer) application.getAttribute("clientCount");    }}

      4、啟動類添加@ServletComponentScan注解

      @ServletComponentScan

      @SpringBootApplicationpublic class ExcelimportApplication {    

      public static void main(String[] args) {        

      SpringApplication.run(ExcelimportApplication.class, args);    

      }

      }

    3. 3

      第三步調:登錄節制器實現。

      1、思緒借助于用戶登錄時統計登錄的次數確定網站拜候量

      import org.springframework.web.bind.annotation.RequestMapping;

      import org.springframework.web.bind.annotation.RestController;

      import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;

      @RestController

      public class UserController {    

      @RequestMapping("/log")    

      public String logUser(HttpServletRequest request, HttpServletResponse response, User user){        

      String name = request.getParameter("name");        

      if("張三".equals(name)){            

      Integer clientCount = (Integer) request.getServletContext().getAttribute("clientCount");            

      request.getServletContext().setAttribute("clientCount",clientCount++);            return name+"登錄當作功!當前拜候人數:"+clientCount;        

      }        return name+"登錄掉敗!";    

      }

      }

    4. 4

      第四步調:測試。

      1、啟動辦事器

      2、查看節制臺監聽的啟動初始化數據,頁面模擬登錄增添拜候次數

    5. 5

      第五步調:總結。

      1、網站用戶拜候次數本家兒要經由過程ServletContextListener監聽器對拜候數據的初始加載和封閉存儲

      2、具體統計可以按照分歧的前提實現分歧的統計,這個要按照現實營業需求。本次演示了登錄統計,若是需要統計某個頁面的拜候次數,在頁面跳轉請求中添加,全局統計變量。

      Integer clientCount = (Integer) request.getServletContext().getAttribute("clientCount");

      request.getServletContext().setAttribute("clientCount",clientCount++);

    注重事項

    • 開辟情況 jdk 1.8 IDEA 2018.2.2 maven:apache-maven-3.5.4
    • 發表于 2019-04-28 20:01
    • 閱讀 ( 2120 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆