不要放在jsp上面来做,定义一个servlet,在web.xml中设定自动启动<load-on-startup>0</load-on-startup>。 在servlet init方法中用timer类的schedule,每隔一段时间执行你指定的方法。 example: public void init() throws ServletException { // Put your code here System.out.println("cookie servlet init()****************"); Test(); }
private void Test() { MyTask myTask = new MyTask(); Timer timer = new Timer(); timer.schedule(myTask, 1000,5000); }mytask类: public class MyTask extends TimerTask{ @Override public void run() { System.out.println("******* my task: "+ new Date().toLocaleString()); } }效果如下: ******* my task: 2011-5-3 16:49:53 ******* my task: 2011-5-3 16:49:58 ******* my task: 2011-5-3 16:50:03 ******* my task: 2011-5-3 16:50:08 ******* my task: 2011-5-3 16:50:13 ******* my task: 2011-5-3 16:50:18 ******* my task: 2011-5-3 16:50:58
你的意思,是不是想说 一个服务器中有多个项目,管理员关闭服务器时 你的项目就不能运行了是吗?
其实,你不必担心,一般服务器不会说停就停 除非是停电或断网 一般服务器维护时,是在晚上。
所以你不必担心这个问题
在servlet init方法中用timer类的schedule,每隔一段时间执行你指定的方法。
example:
public void init() throws ServletException {
// Put your code here
System.out.println("cookie servlet init()****************");
Test();
}
private void Test() {
MyTask myTask = new MyTask();
Timer timer = new Timer();
timer.schedule(myTask, 1000,5000);
}mytask类:
public class MyTask extends TimerTask{ @Override
public void run() {
System.out.println("******* my task: "+ new Date().toLocaleString());
}
}效果如下:
******* my task: 2011-5-3 16:49:53
******* my task: 2011-5-3 16:49:58
******* my task: 2011-5-3 16:50:03
******* my task: 2011-5-3 16:50:08
******* my task: 2011-5-3 16:50:13
******* my task: 2011-5-3 16:50:18
******* my task: 2011-5-3 16:50:58