zoukankan      html  css  js  c++  java
  • Listener监听器使用小案例

    这里介绍的就是一个客户流失监听器案例

    新建一个监听器实现ServletContextListener接口 覆写contextDestroyed和contextInitialized 方法

    package listener;
    import java.util.Timer;
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;

    public class LostListener implements ServletContextListener {
    private Timer timer; //定时器

    //服务器关闭的时候会自动调用
    public void contextDestroyed(ServletContextEvent arg0) {
      timer.cancel();
      System.out.println("客户监听任务已关闭");
    }

    //服务器启动的时候会自动调用
    public void contextInitialized(ServletContextEvent arg0) {
      System.out.println("客户监听任务已启动");
      timer = new Timer();
      LostTask lostTask=new LostTask();
      //开启服务器后多少毫秒去执行一次lostTask类中的run方法 过多少毫秒之后再去执行一边这个类中的方法
      timer.scheduleAtFixedRate(lostTask, 0, 60*60*1000);//每过一个小时去执行一次
      }
    }

    新建一个定时器 集成TimerTask类重写run方法

    package listener;
    import java.sql.Date;
    import java.util.Calendar;
    import java.util.List;
    import java.util.TimerTask;


    public class LostTask extends TimerTask {
    @Override
    public void run() {
      System.out.println("进入执行任务类 run..........");
      Calendar c=Calendar.getInstance();
      int week=c.get(c.DAY_OF_WEEK);//星期几
      int hour=c.get(c.HOUR_OF_DAY);//第几个小时
      if(week==7&&hour==24){指定每个星期的几点钟开始执行
      System.out.println("客户流失情况扫描开始了。。。。。。。。");
      List<CstCustomer> list=CustMethod.getCustomers();

      //根据扫描的情况去以短信或邮件的形式提示流失的客户信息代码处理

      System.out.println("扫描完成。。。。。。。。");
      }
    }

    web.xml配置

    <listener>
    <listener-class>listener.LostListener</listener-class>
    </listener>

  • 相关阅读:
    Codeforces Round #717 (Div. 2)
    Codeforces Round #716 (Div. 2)
    atCoder Regular Contest 117
    Codeforces Round #715 (Div. 2)
    牛客挑战赛49
    从零开始搭建webpack应用
    扫盲:npm
    MYSQL安装
    Int和integer区别
    关于JDK配置以及DOS窗口执行指令
  • 原文地址:https://www.cnblogs.com/laotan/p/3641779.html
Copyright © 2011-2022 走看看