使用Spring application对象存储全局变量,统计链接的点击量
来源:互联网 发布:淘宝网中老年裙子 编辑:程序博客网 时间:2024/06/06 10:41
application对象作为JSP的9大内置对象之一,实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。
基于上述理由,将点击量作为全局变量,存在application对象中,统计全网的点击量。
1、在web.xml中自定义监听器
<listener>
<listener-class>xxx.xxx.web.listener.InitListener</listener-class>
</listener>
2、在xxx.xxx.web.listener.InitListener的contextInitialized()方法中设置全局变量,用来存点击量,存入ServletContext域对象(application)中,在contextDestroyed()方法中更新数据库中的点击量字段,并移除全局变量。
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
* @ClassName: MyServletContextListener
* @Description:InitListener类实现了ServletContextListener接口,
* 因此可以对ServletContext对象的创建和销毁这两个动作进行监听。
*/
public class InitListener implements ServletContextListener {
private static ApplicationContext applicationContext = null;
public void contextInitialized(ServletContextEvent sce) {
//System.out.println("ServletContext对象创建");
//初始化 ApplicationContext 对象
applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(sce.getServletContext());
//设置点击量
sce.getServletContext().setAttribute("increaseCountMap",newConcurrentHashMap<Integer,AtomicInteger>());
}
//System.out.println("ServletContext对象销毁");
WebApplicationContext webApplicationContext= ContextLoader.getCurrentWebApplicationContext();
//获取业务层service Bean
CourseServiceImpl courserService = (CourseServiceImpl)webApplicationContext.getBean("CourseServiceImpl");
courserService.updateRateUtilization();//更新点击量
sce.getServletContext().removeAttribute("increaseCountMap");//移除全局变量--点击量
}
//用于那些非控制层中使用直接获取到的Spring Bean的获取,如接口
public static ApplicationContext getApplicatonContext(){
returnapplicationContext ;
}
}
- 使用Spring application对象存储全局变量,统计链接的点击量
- Android application对象的使用 全局变量
- Android application对象的使用 全局变量
- 用Python编写MapReduce代码与调用-统计accessLog中链接的点击量
- <Android>Application全局变量的使用
- JSP 点击量统计
- 点击量统计_application
- JSP 点击量统计
- JSP点击量统计
- JSP 点击量统计
- JSP 点击量统计
- JSP 点击量统计
- Python的MapReduce调用及多输入文件的使用(统计url的点击量)
- jsp application对象使用 统计访问人数
- jsp application对象使用 统计访问人数
- ASP中使用APPLICATION对象存储数据的缓存类
- Application类 的使用 ,设置全局变量
- 定时统计页面点击量
- shell练习题之for循环——读取/var目录
- 我们学不会的C语言的最大敌人是谁?
- leetcode -- Climbing Stairs -- 简单重要
- javaSE(27)(观察者设计模式)
- 【转载mos文章】11.2RAC中public ip地址没有注册到监听器中
- 使用Spring application对象存储全局变量,统计链接的点击量
- Android从源码解析三:View绘制流程
- 几种获取request,session方法
- EL取得action 属性的原理
- MySQL 5.7 新特性解读
- 架构探险 学习笔记
- 大神给你分析HTTPS和HTTP的区别
- Hive数据迁移
- 轻巧级记事本的开发