Java Web实现统计网站用户访问量并持久化的问题

版权声明: https://blog.csdn.net/qq_21852449/article/details/74143435

Session 是一次会话的局部存储,所以我们要使用Application的全局存储。

1、可以通过实现ServletContextListener 接口,重写

contextDestroyed(ServletContextEvent arg0)
contextInitialized(ServletContextEvent arg0)

在初始化的时候进行持久化读取,销毁的时候持久化存储,至于放在文件还是数据库则是设计的事情了
coding:

@WebListener
public class CountListener implements ServletContextListener {
    /**
     * 销毁
     */
    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("保存现有的用户访问量");
    }
    /**
     * 创建
     */
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("读取过去所有的网站访问量");
    }   
}

2、可以在数据库中新建一个表存储和网站访问量相关的数据,最简单的就是一个visitcount表中包含一个字段count,当用户访问网站首页面时候,更新count+1,并且读取出来放在application中。

request.getServletContext().setAttribute("counter", counter);

然后在页面中显示。

数据库设计的足够详细,可以统计网站中不同页面的访问量和物理设备的访问量。

猜你喜欢

转载自blog.csdn.net/qq_21852449/article/details/74143435