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
  • 阅读 ( 2205 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

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 问答工具