【问题标题】:How to Set the time of java Timer class from User input如何从用户输入设置java Timer类的时间
【发布时间】:2013-11-14 05:12:48
【问题描述】:

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

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();
}
}

提前谢谢..

【问题讨论】:

  • 到目前为止,您对 JSP 进行了哪些尝试?你到底有什么问题?

标签: java jsp servlets timer


【解决方案1】:

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

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

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

顺便说一句,考虑使用http://www.joda.org/ 而不是 Clendar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    • 2015-01-04
    • 2022-12-03
    相关资源
    最近更新 更多