java做一个生日庆祝,java模拟生日发祝福

packagecom.cc.birthday;importjava.sql.SQLException;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.List;importjava.util.Timer;importjava.util.TimerTask;importjavax.mail.MessagingException;importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;importorg.apache.commons.dbutils.QueryRunner;importorg.apache.commons.dbutils.handlers.BeanListHandler;importcom.cc.birthday.Customer;importcom.cc.mail.MailUtils;public class BirthdayListener implementsServletContextListener{

@Overridepublic voidcontextInitialized(ServletContextEvent sce) {//当web应用启动开启任务调动---功能在用户的生日当天发送邮件//开启一个定时器

Timer timer=newTimer();

timer.scheduleAtFixedRate(newTimerTask() {

@Overridepublic voidrun() {//为当前的生日的用户发邮件//1.获得今天过生日的人//获得今天的日期

SimpleDateFormat format=new SimpleDateFormat("MM-dd");

String currentDate=format.format(newDate());//根据当前时间从数据库查询今天过生日的人

QueryRunner qr=newQueryRunner(DataSourceUtils.getDataSource());

String sql="select * from customer where birthday like ?";

List customerList=null;try{

customerList= qr.query(sql, new BeanListHandler(Customer.class),"%"+currentDate);

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}//2.发邮件

if(customerList!=null&&customerList.size()>0){for(Customer c:customerList){

String emailMsg="亲爱的:"+c.getRealname()+",生日快乐!";try{

MailUtils.sendMail(c.getEmail(),"happy..birthday", emailMsg);

System.out.println(c.getRealname()+"邮件发送完毕");

}catch(MessagingException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

},new Date(),10*1000);//实际开发中起始时间是一个固定的时间//实际开发中间隔时间是1天

}

@Overridepublic voidcontextDestroyed(ServletContextEvent sce) {//TODO Auto-generated method stub

}

}

packagecom.cc.birthday;importjava.sql.SQLException;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.List;importjava.util.Timer;importjava.util.TimerTask;importjavax.mail.MessagingException;importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;importorg.apache.commons.dbutils.QueryRunner;importorg.apache.commons.dbutils.handlers.BeanListHandler;importcom.cc.birthday.Customer;importcom.cc.mail.MailUtils;public class BirthdayListener implementsServletContextListener{ @Overridepublic voidcontextInitialized(ServletContextEvent sce) {//当web应用启动开启任务调动---功能在用户的生日当天发送邮件//开启一个定时器 Timer timer=newTimer(); timer.scheduleAtFixedRate(newTimerTask() { @Overridepublic voidrun() {//为当前的生日的用户发邮件//1.获得今天过生日的人//获得今天的日期 SimpleDateFormat format=new SimpleDateFormat("MM-dd"); String currentDate=format.format(newDate());//根据当前时间从数据库查询今天过生日的人 QueryRunner qr=newQueryRunner(DataSourceUtils.getDataSource()); String sql="select * from customer where birthday like ?"; List customerList=null;try{ customerList= qr.query(sql, new BeanListHandler(Customer.class),"%"+currentDate); }catch(SQLException e) {//TODO Auto-generated catch block e.printStackTrace(); }//2.发邮件 if(customerList!=null&&customerList.size()>0){for(Customer c:customerList){ String emailMsg="亲爱的:"+c.getRealname()+",生日快乐!";try{ MailUtils.sendMail(c.getEmail(),"happy..birthday", emailMsg); System.out.println(c.getRealname()+"邮件发送完毕"); }catch(MessagingException e) {//TODO Auto-generated catch block e.printStackTrace(); } } } } },new Date(),10*1000);//实际开发中起始时间是一个固定的时间//实际开发中间隔时间是1天 } @Overridepublic voidcontextDestroyed(ServletContextEvent sce) {//TODO Auto-generated method stub } }
经验分享 程序员 微信小程序 职场和发展