社区
Web 开发
帖子详情
jsp中如何實現逾期通知功能﹐
xjhego
2004-08-29 02:56:45
jsp如何做一個逾期通知,即在數據中記錄了某一信息的包括記錄的創建時間等﹐當一個月后這筆記錄沒有被處理時就自動發送一封mail提醒處理﹐謝謝﹗
...全文
231
14
打赏
收藏
jsp中如何實現逾期通知功能﹐
jsp如何做一個逾期通知,即在數據中記錄了某一信息的包括記錄的創建時間等﹐當一個月后這筆記錄沒有被處理時就自動發送一封mail提醒處理﹐謝謝﹗
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wenming168
2004-09-02
打赏
举报
回复
同意 yaray(雅睿,生活在别处,工作在别墅)
你也可以写一servlet , 在servlet中启动一个线程用表发email
xiangbo520
2004-08-30
打赏
举报
回复
收藏!!!!!!!!!
yaray
2004-08-30
打赏
举报
回复
上面这几个程序共同完成一个在Web工程中定时执行指定任务的功能。更具体的说明可以参看程序中的说明。
yaray
2004-08-30
打赏
举报
回复
用ServletContextListener吧。
代码附上:
===========
package com.yaray.autotask;
public class ProjectServletContextListner implements javax.servlet.ServletContextListener{
private static java.util.Timer timer = null; // 定时器
// 此方法仅在起动Web容器(或服务器)时被调用一次
public void contextInitialized(javax.servlet.ServletContextEvent event) {
timer = new java.util.Timer(true);
javax.servlet.ServletContext ctx = event.getServletContext();
ctx.log("定时器已启动,任务开始执行");
/*
//如果是用web.xml文件配置参数,则用下面的方式读取参数设置值
long period = Long.valueOf((String)ctx.getInitParameter("period")).longValue();
*/
timer.schedule(new NewTask(), // 所需要执行的任务
0, // 延迟时间 ( 0 --- 表示起动Web容器(或服务器)就立即执行此任务 )
5*1000 // 任务的执行间隔时间[单位:毫秒] (此处的间隔时间是5秒)
);
}// End method: contextInitialized(javax.servlet.ServletContextEvent event)
// 此方法仅在关闭Web容器(或服务器)时被调用一次
public void contextDestroyed(javax.servlet.ServletContextEvent event) {
timer.cancel();
event.getServletContext().log("定时器已销毁,任务执行结束");
}// End method: contextDestroyed(javax.servlet.ServletContextEvent event)
}///:~
/*
在工程的WEB-INF\web.xml配置文件中加入如下三行,所计划的任务就会在Web容器(或服务器)启动时自动开始执行了:
<listener>
<listener-class>com.yaray.autotask.ProjectServletContextListner</listener-class>
</listener>
*/
/**
* 在无特殊要求的情况下这个类无需修改;
* 只需要与ProjectServletContextListner类保存在同一个.java文件中即可(或同一个文件夹中,需定义与其相同的包名)
*/
class NewTask extends java.util.TimerTask{
private static boolean isRunning = false; // 运行标志(表示是否正在运行计划的任务)
private static int t = 3; //
private CustomTask ct = TaskFactory.getTask();
public NewTask(){
}
public void run(){
if(!isRunning){ // 当未执行此任务时则开始执行
if(ct != null){
isRunning = true; // 将任务执行标志设置为正在执行
ct.execute(); // 执行任务
isRunning = false; // 将任务执行标志设置为执行完毕
}else{
if(t == 0) return;
t--;
System.out.println();
System.out.println(" [Error] [com.yaray.autotask.NewTask] [Method: run] The task is null.");
System.out.println(" [Error] [com.yaray.autotask.NewTask] [Method: run] The task is null.");
System.out.println(" [Error] [com.yaray.autotask.NewTask] [Method: run] The task is null.");
}
}else{
System.out.println("The task is running.");
}
}// End method: run()
}///:~
///////////////////////////////////////////////////////////////////////////////////////////////////////
/* 单独保存为CustomTask.java文件 */
package com.yaray.autotask;
public interface CustomTask{
/**
* 用于实现自定义的任务
*/
public void execute();
}///:~
///////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
/* 单独保存为TaskFactory.java文件 */
package com.yaray.autotask;
public class TaskFactory {
/**
* 功能:返回实现了CustomTask接口的类的实例对象
*
*
* 例: 如果实现了CustomTask接口的类名是MyTask,
* return new MyTask();
* 如上这样就可以了.
*/
public static CustomTask getTask(){
return null; // 此处仅返回null,用户应根据实际情况作出修改
}
}///:~
///////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
package com.yaray.autotask;
public MyTask implements com.yaray.task.CustomTask{
/* 任务执行主体(此处为实验代码,仅用来执行简单的信息输出语句) */
public void execute(){
System.out.println("在此方法中实现任务的主体");
}
}///:~
///////////////////////////////////////////////////////////////////////////////////////////////////////
LiGun
2004-08-30
打赏
举报
回复
tyrone98(林林) 同意
zhushizu
2004-08-30
打赏
举报
回复
呵呵,上面帖子介绍的多线程这里用不上吧!
在数据库里加一个触发器来触发这个事件,不过数据库能不能发邮件,那就要看楼主自已找答案了!
xiangbo520
2004-08-30
打赏
举报
回复
http://community.csdn.net/Expert/topic/2974/2974781.xml?temp=.4880945
你可以参考一下这个帖子
majar
2004-08-30
打赏
举报
回复
up
jiankou2001
2004-08-29
打赏
举报
回复
代码???
jiankou2001
2004-08-29
打赏
举报
回复
up
tyrone98
2004-08-29
打赏
举报
回复
写一个JAVA的服务程序,每过一定的时间读表记录,发送email就可以了.
xjhego
2004-08-29
打赏
举报
回复
我想過在數據庫做﹐可在數據庫做如何能發送mail啊,
如果在頁面做的話﹐只能在打開面時才能執行﹐在頁面沒有打時就不能觸發了
還有什么更好的方法呢
makejack
2004-08-29
打赏
举报
回复
我也碰到该问题,我的问题是当数据正式插入表中后,满六个月后将触发其它的表格申请要求前面处理,我想是不是可以用数据库的触发器来处理,虽然还没有直接找到,但我相信应该能做,另外实在不行,我想这样做:即在页面中做,在打开页面时,自动执行一个bean,该bean来处理这个问题,做完后,置当天执行标志,即每天只执行一次。
passren
2004-08-29
打赏
举报
回复
应该让数据库作这个动作,可以建立一个job定期run
基于
jsp
的图书管理系统设计与实现.docx
基于
jsp
的图书管理系统设计与实现
jsp
图书管理系统 需求分析
毕业设计......................
JSP
图书借阅系统(毕业设计)
主要有五大
功能
模块:类别管理模块、图书管理模块、读者管理、借阅管理和归还管理模块。
基于
jsp
图书馆管理系统
介绍了一个图书馆管理系统从设计到实现的过程,使用
jsp
+javabean开发模式,附有源码,很有学习价值。
JSP
写的图书管理系统
基于
JSP
写的图书管理系统,前台是用的NetBean,数据库用的是SQLSERVER2008
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章