2

Web アプリケーションを作成するために Java を使用しています。アプリケーションは、長いビジネス ロジックを呼び出す jsp にデータが送信されるフォームをロードする必要があります。jsp が「サービスをご利用いただきありがとうございます。処理が完了するとメールが送信されます。」のようなメッセージを返す必要があります。

問題は、次のようなものを書く場合です:

<html>
<head></head>
<body>
...
<span>thank you for using my service, an email will sent to you when the proccess is done</span>
...
<% businessClass.doLongOperation(); %>
...
...
</Body>
</html>

jsp は長時間実行され、ユーザーは操作が終了するまで待機する必要があります。さらに、ユーザーがブラウザーを閉じた場合、jsp が引き続き機能するかどうかはわかりません。

ユーザーがすべての実行時間を待つ必要がないように、長い操作をjspから分離するにはどうすればよいですか?また、長い操作の実行をブラウザに依存しないようにするにはどうすればよいですか?

ナオール

4

1 に答える 1

1

JSP は、サーブレット、Struts アクション、または Spring MVC コントローラーによってサーバー側でサポートされている可能性があります。

そのオブジェクトで、非同期実行を実行します。

executor.execute(new Runnable() {

    public void run() { businessClass.doLongOperation(); }
});

は のインスタンスexecutorですjava.util.concurrent.Executor

于 2009-07-08T15:43:00.180 に答える