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

}

}

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值