2

jsp ページからヒットした ServletContextListener の contextInitialized および contextDestroyed メソッドを呼び出す必要があるという要件があります。必要に応じて、Jsp ページから受け取ったいくつかのタイマー入力パラメーターを使用する必要がありますが、できません。これを達成...

サーブレットを作成しましたが、このサーブレットは要件に従っていないため、リクエストは jsp フォームからサーブレットに送信されず、ヒットと jsp ページからの入力を取得するためにサーブレットに何を追加すればよいかがわかります。

これが私のサーブレットページです..

@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からサーブレットページ(コンテキスト)へのユーザー入力を取得する方法を教えてください。

前もって感謝します...

4

2 に答える 2

1

これらのメソッドは Web アプリケーションのライフサイクル メソッドであるため、JSP からこれらのメソッドにデータを渡すことはできません。contextInitializedjspが表示される前に起動します。

ServletContextListenerアプリケーションで使用されるリソースの初期化とクリーンアップに使用されます。ServletContextListener の適切な使用方法については、この投稿を参照してください。

于 2013-11-13T14:32:07.560 に答える