java - 如何在通过Jsp访问的servlet中实现ServletContextListener

标签 java jsp servlets servletcontextlistener

我有一个要求,我需要调用从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">
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <label>Set Time: </label>
        <input type="text" name="time" id="time">
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <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 页面(上下文)。

提前致谢...

最佳答案

您无法将任何数据从 JSP 传递给这些方法,因为它们是 Web 应用程序的生命周期方法。 contextInitialized 在您看到 jsp 之前就触发了。

ServletContextListener 用于初始化和清理应用程序中使用的资源。 请引用this发布有关 ServletContextListener 的正确使用的文章。

关于java - 如何在通过Jsp访问的servlet中实现ServletContextListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19955075/

相关文章:

java - HTTP 请求是从 JSP 与 servlet 通信的唯一方法吗?

java - iOS - 在应用程序外部使用 java 填充数据库

java - 我应该如何构建一个必须使用 Spring 和 JPA 的模块化企业应用程序?

javascript - 从 jsp 中的下拉列表中选择值后替换并显示新页面

java - 在 jsp 和 servlet 中设置参数

java - 我不想在 Eclipse 的 servlet 中使用 @WebServlet

java - 从 Android 中的 AlertDialog 返回信息

java - 用于库使用的 Spring IoC 上下文配置?

java - 如何在JSP页面上显示图像

在 Tomcat 上运行项目时 Spring Filter ClassCastException