如何定时实行程序?

xl_l 2002-10-26 12:57:01
我想在我的tomcat服务启动之后,每天的某时刻定时执行一段程序,
我如何做到?
...全文
25 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
playgb 2002-11-04
  • 打赏
  • 举报
回复
通过java.util.Timer可能不能启到定时作用.
原因:生成的脚本中找不到java程序,而是脚本。
xl_l 2002-11-03
  • 打赏
  • 举报
回复
继续讨教!
各位还有什么高见?
有什么设计思路吗?
xl_l 2002-11-01
  • 打赏
  • 举报
回复
我想这样可以的吧:
写一个servlet,服务启动就加载这个servlet,在servlet的init()中用线程来实现.
大家看看,这样可以吧!
mymmsc 2002-11-01
  • 打赏
  • 举报
回复
继续关注
qxjavajava 2002-11-01
  • 打赏
  • 举报
回复
思路不要受局限.
playgb 2002-11-01
  • 打赏
  • 举报
回复
定时循环的做法
要使定时器循环工作你需要写一个函数实现循环调用。这里是
一个例子:

var the_count = 0;
var the_timeout;
function doTimer()
{
window.document.timer_form.the_text.value = the_count;
the_count += 2;
the_timeout = setTimeout("doTimer();", 2000);
}


这里用到的定时器就是上一页所用的定时器。当用户点击按钮
时就调用该函数。该函数将the_count的当前值写到文字框中。
然后the_count增加2,则开始调用函数自身。文字框中的数值
也相应更新,the_count在增加2, 则再次调用函数自身。在等
待的这两秒期间浏览器则可以执行其他的同步工作。the_count
一增加2就执行另一次setTimeout()。你不用担心会造成内存
崩溃,因为在给定时间内只有一个setTimeout()在执行。

而无限的"while" 循环则会锁定浏览器的工作,在执行该循环
的过程中浏览器不能同时执行别的任何指令。而setTimeout则
可以使循环的间隙中让浏览器执行别的工作。

如何取消setTimeout

现在你已经学习了如何设置一个无限循环。但是你必须懂得如
何终止循环。其指令就是clearTimeout。上例中定时器还有下
面这个表单元素:

<input type="button" value="stop timer"
onClick="clearTimeout(the_timeout);">

点击这个按钮就可以终止定时器。指令是clearTimeout(),其
实很简单,如果你这样设置setTimeout,
the_timeout = setTimeout("some javascript",3000);

你可以这样取消定时器:
clearTimeout(the_timeout);
playgb 2002-11-01
  • 打赏
  • 举报
回复
JAVA TOMCAT:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*
public class HelloServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("
//这里写入JAVASCRIPT的内容。
);
}
}



JAVASCRIPT:
<script language="JavaScript">
done = 0;
step = 4
function anim(yp,yk)
{
if(document.layers) document.layers["napis"].top=yp;
else document.all["napis"].style.top=yp;

if(yp>yk) step = -4
if(yp<60) step = 4

setTimeout('anim('+(yp+step)+','+yk+')', 35);
}
function start()
{
if(done) return
done = 1;

if(navigator.appName=="Netscape") {
document.napis.left=innerWidth/2 - 145;
anim(60,innerHeight - 60)
}
else {
napis.style.left=10;
anim(60,document.body.offsetHeight - 60)
}
}
</script>
</p>
<div id="napis" style="position: absolute;top: -50;">
</div>
<script language="JavaScript">
<!--
setTimeout('start()',10);//10秒退出

//-->
</script>
chen_2001 2002-11-01
  • 打赏
  • 举报
回复
gz
xl_l 2002-11-01
  • 打赏
  • 举报
回复
to:playgb(溯缘)
tomcat写脚本,在用脚本里的时间控件。可否有代码参考?
wbamos 2002-11-01
  • 打赏
  • 举报
回复
java.util.Timer
java.util.TimerTask
你看看这两个类对你有帮助么?
xl_l 2002-11-01
  • 打赏
  • 举报
回复
因为每天都要做,这样的话,太耗资源了.不现实的...
可能只能单独做一个程序,在计划任务里实行吧!
playgb 2002-10-31
  • 打赏
  • 举报
回复
tomcat写脚本,在用脚本里的时间控件。
xl_l 2002-10-31
  • 打赏
  • 举报
回复
我现在要的是具体的实际.
后台做一个批处理程序,什么意思?不懂!请教!
请给出具体的,最好有代码.
xiaogz 2002-10-31
  • 打赏
  • 举报
回复
你可以在后台做一个批处理程序。
xl_l 2002-10-31
  • 打赏
  • 举报
回复
例如每天的18:00从文件服务器上取上传的文件,然后根据文件的内容来更新数据库.
当tomcat启动后,就开始定时自动取文件,自动更新数据库.
这种想法能够实现吗?
急啊!!
xl_l 2002-10-30
  • 打赏
  • 举报
回复
是隐藏的,就是tomcat服务启动,这个程序就开始定时执行了.
我不知道如何才能实现?
希偌 2002-10-30
  • 打赏
  • 举报
回复
用javascript就可以实现了,定时刷新页面,然后根据时间判断是否到规定时间
xl_l 2002-10-28
  • 打赏
  • 举报
回复
可以给出具体的例子吗?(要web形式的)
qxjavajava 2002-10-28
  • 打赏
  • 举报
回复
web形式
xl_l 2002-10-28
  • 打赏
  • 举报
回复
web形式还是Application形式?
加载更多回复(4)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧