【发布时间】:2013-11-26 03:08:10
【问题描述】:
我有一个要求,我需要调用从 jsp 页面命中的 ServletContextListener 的 contextInitialized 和 contextDestroyed 方法。根据我的需要,我必须使用从 Jsp 页面收到的一些计时器输入参数,但我是无法做到这一点...
我已经创建了一个servet,但是这个servlet不符合要求,所以请求不会从jsp表单发送到servlet,我知道要在servlet中添加什么来获取来自jsp页面的点击和输入..
这是我的 Servlet 页面..
@WebListener()
public class MyContext implements ServletContextListener {
//private ScheduledExecutorService sched;
Timer timer = new Timer();
@Override
public void contextInitialized(ServletContextEvent event) {
//sched = Executors.newSingleThreadScheduledExecutor();
//sched.scheduleAtFixedRate(new MyTask(), 0, 5, TimeUnit.SECONDS);
Calendar date = Calendar.getInstance();
date.set(
//Calendar.DAY_OF_WEEK,Calendar.TUESDAY);
Calendar.DAY_OF_MONTH, 12);
date.set(Calendar.HOUR, 00);
date.set(Calendar.MINUTE, 11);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
timer.schedule(
new MyTask(),
date.getTime(),
1000 * 60 * 60 * 24 * 7);
}
@Override
public void contextDestroyed(ServletContextEvent event) {
//sched.shutdownNow();
timer.cancel();
}
}
这是我的jsp页面..
<form action="MyContext" method="GET">
<label>Set Date: </label>
<input type="text" name="date" id="date">
<label>Set Time: </label>
<input type="text" name="time" id="time">
<input type="Submit" name="Submit" value="Submit" id="Submit">
</form>
这是我的 web.xml 文件..
<servlet>
<servlet-name>MyContext</servlet-name>
<servlet-class>MyContext</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyContext</servlet-name>
<url-pattern>/MyContext</url-pattern>
</servlet-mapping>
<listner>
<listner-class>
MyContext
</listner-class>>
</listner>>
请大家帮助我如何将用户输入从 jsp 获取到 servlet 页面(上下文)。
提前谢谢...
【问题讨论】:
-
ServletContextListener 用于在 Web 应用程序启动或销毁时获取通知。为什么要从 JSP 向 ServletContext 传递一些东西?
-
@PrasadKharkar 先生,我在 ServletContextListener 中设置了一个计时器,我需要用户设置该计时器的值才能在用户提供的时间执行操作
-
我猜你误解了你的功能需求。请发布它,您可能会收到更好,更准确的指导。
标签: java jsp servlets servletcontextlistener