• 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>

  • 相关阅读:
    流程图制作在云上 https://www.processon.com/
    白板编程浅谈——Why, What, How
    如何创建一个非常酷的3D效果菜单
    Xcode及模拟器SDK下载
    Swift项目兼容Objective-C问题汇总
    iOS 多个精致动画
    代码注释中的5要与3不要
    如何处理iOS中照片的方向
    会报编译器警告的Xcode 6.3新特性:Nullability Annotations
    iOS应用架构谈 view层的组织和调用方案
  • 原文地址:https://www.cnblogs.com/laotan/p/3641779.html
Copyright © 2020-2023  润新知