Spring Boot是由Pivotal團隊供給的全新框架,其設計目標是用來簡化新Spring應用的初始搭建以及開辟過程。該框架利用了特心猿意馬的體例來進行設置裝備擺設,從而使開辟人員不再需要界說樣板化的設置裝備擺設。經由過程這種體例,Spring Boot致力于在蓬勃成長的快速應用開辟范疇(rapid application development)當作為帶領者。
此次實現需要借助于ServletRequestListener獲取用戶拜候信息,統計拜候次數和
ServletContextListener實此刻辦事器啟動和封閉時初始化加載持久化數據。
第一步調:建立一個springboot的項目(也可以建立一個簡答的java項目)。
1、 打開建立頁面 選擇File-new-project..
2、選擇建立的項目為spring initializr 進入springboot項目建立步調(也可以選擇類型java,建立一個通俗java項目)
3、輸入項目名字,選擇依靠web(按照項目需求選擇,此次需要),選擇存放目次-完當作(Finish)
第二步調:實現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);
}
}
第三步調:登錄節制器實現。
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+"登錄掉敗!";
}
}
第四步調:測試。
1、啟動辦事器
2、查看節制臺監聽的啟動初始化數據,頁面模擬登錄增添拜候次數
第五步調:總結。
1、網站用戶拜候次數本家兒要經由過程ServletContextListener監聽器對拜候數據的初始加載和封閉存儲
2、具體統計可以按照分歧的前提實現分歧的統計,這個要按照現實營業需求。本次演示了登錄統計,若是需要統計某個頁面的拜候次數,在頁面跳轉請求中添加,全局統計變量。
Integer clientCount = (Integer) request.getServletContext().getAttribute("clientCount");
request.getServletContext().setAttribute("clientCount",clientCount++);
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!