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>

  • 相关阅读:
    字符的编码
    数据的基本类型和内置方法(二)
    基本的数据类型和内置方法介绍 (一)
    流程运算 if while for
    用户交换 基本数据类型 基本运算符 格式化输出
    机器语言发展简介和变量的介绍
    计算机基础
    Python学习建议和要求总结
    CH135 最大子序和 题解报告
    HRBUST1356 Leyni,罗莉和队列 题解报告
  • 原文地址:https://www.cnblogs.com/laotan/p/3641779.html
Copyright © 2011-2022 走看看