简单计时器,web监听器

在 Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期。

当Servlet 容器启动或终止Web 应用时,会触发ServletContextEvent 事件,该事件由ServletContextListener 来处理。在 ServletContextListener 接口中定义了处理ServletContextEvent 事件的两个方法。

原理:定义一个监听器,需要实现ServletContextListener接口。

       当容器启动或销毁,执行对应的方法,

new一个定时器,调用schedule()方法,即可运行计划。

任务类继承TimerTask类,被schedule()方法执行。

public class MyListenser implements ServletContextListener{
 private Timer timer = null;
 public void contextDestroyed(ServletContextEvent arg0) {
  timer.cancel();

 }
 public void contextInitialized(ServletContextEvent arg0) {//容器启动时执行
  timer = new Timer();  //获得定时器
  timer.schedule(new MyTask(), 5000,3000); //定时计划,第一个参数为实现了TimerTask的一个java类,第二个为容器启动后几秒开始执行,第三个参数是间隔几秒执行
  //timer.schedule(new MyTask()); 表示容器启动5秒后,只执行一次 

  }

}
public class MyTask extends TimerTask{
 @Override
 public void run() {
  System.out.println("运行了每隔2秒"+new Date());
 }
}

在线人数:session建立,计时器+1,session销毁,计时器减1

服务器被访问次数:是总次数,当服务器维护,下次运行,次数累加,这里就需要在启动时,去文件文件中读取counter,销毁时,保存counter到文件中,应该需要设置成定时添加,比如突然停电。

转载于:https://my.oschina.net/li21808890/blog/269135

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值