版权声明: 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);
然后在页面中显示。
数据库设计的足够详细,可以统计网站中不同页面的访问量和物理设备的访问量。