如何从用户输入设置java Timer类的时间

时间:2013-11-14 05:12:48

标签: java jsp servlets timer

我已经要求从用户输入设置计时器。基本上我的要求是......

1.设计一个带有输入字段的jsp页面,以设置计时器的日期和时间..

2.取这些输入字段值并设置日期和时间。

3.在新设定的日期和时间执行计时器..

实际上我需要在特定日期和时间触发邮件,这些日期和时间将从用户端动态更改为与jsp页面交互。如果日期和时间已更改,则应在该特定日期触发计时器,离开最后一个的时间..

目前我有一个带有main方法的java类,其中包含我需要更改的硬编码日期和时间的计时器,并为用户提供设置和时间..

请各位帮我如何从jsp页面获取并在java计时器类中使用它。

我的应用程序也是使用jsp,servlet和POJO文件的Web应用程序..

这是我的java类代码......

public final class FetchMail extends TimerTask {

/** Construct and use a TimerTask and Timer. */
public static void main(String... arguments) {
    TimerTask fetchMail = new FetchMail();
    Timer timer = new Timer();
    timer.scheduleAtFixedRate(fetchMail, getTomorrowMorning4am(), fONCE_PER_DAY);
}

/**
 * Implements TimerTask's abstract run method.
 */
@Override
public void run() {

    System.out.println("Fetching mail...");
}
private final static long fONCE_PER_DAY = 1000 * 60 * 60 * 24;

private static Date getTomorrowMorning4am() {

    Calendar date = Calendar.getInstance();
    date.set(
            Calendar.DAY_OF_MONTH, 14);
    date.set(Calendar.HOUR, 10);
    date.set(Calendar.MINUTE, 14);
    date.set(Calendar.SECOND, 0);
    date.set(Calendar.MILLISECOND, 0);
    return date.getTime();
}
}

提前致谢..

1 个答案:

答案 0 :(得分:0)

表示日期的字符串应该使用该JSP页面从客户端发送。

然后在服务器端,您应该将此字符串转换为Calendar对象,请参阅converting String to Calendar. What is the easiest way?

请注意,客户端和服务器应具有相同的日期格式。

不过,请考虑使用http://www.joda.org/代替Clendar