1、第一步骤:创建一个springboot的项目(也可以创建一个简答的java项目)。1、 打开创建页面 选择File-new-project..2、选择创建的项目为spring initializr 进入springboot项目创建步骤(也可以选择类型java,创建一个普通java项目)3、输入项目名字,选择依赖web(根据项目需求选择,此次需要),选择存放目录-完成(Finish)
2、第二步骤:实现ServletContextListener监听器。1、借助于context诔罨租磊Initialized方法在服务器启动时加载数据2、借助于艘早祓胂contextDestroyed方法在服务器关闭时持久化数据3、具体代码如下所示:import javax.servlet.ServletContext;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import javax.servlet.annotation.WebListener;@WebListenerpublic 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、第三步骤:登录控制器实现。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;@RestControllerpublic 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、第四步骤:测试。1、启动服务器2、查看控制台监听的启动初始化数据,页面模拟登录增加访问次数
5、第五步骤:总结。1、网站用户访问次数主要通过ServletContextListener监听器对访问数据的初始加载和关闭存储2、具体统计可以根据不同的条件实现不同的统计,这个要根据实际业务需求。本次演示了登录统计,如果需要统计某个页面的访问次数,在页面跳转请求中添加,全局统计变量。Integer clientCount = (Integer) request.getServletContext().getAttribute("clientCount");request.getServletContext().setAttribute("clientCount",clientCount++);