0

ユーザーに投稿してもらいたいのですが、投稿内のデータが処理され、リクエストが jsp ページに転送されます。jsp-page はユーザーに送り返されますが、サーバーはジョブを実行する必要があります。このジョブには多くの時間がかかるため、ユーザーはそれを待つべきではありません。

protected void doPost(HttpServletRequest request, HttpServletResponse response) {
  //... get posted data ...
  request.getRequestDispatcher("/page.jsp").forward(request, response);
  //do-someting
}

接続が閉じられ、ユーザーが page.jsp を取得した後に、「何らかの処理」を実行したいと考えています。もちろん、「何かをする」ことは、データベースの更新など、完全にサーバー側です。そのため、ユーザーがページを離れた後もサーバーは動作し続けます。jsp ページに転送した後、サーブレットで出力ストリームをフラッシュして閉じようとしましたが、例外が発生しました。また、jsp ページをフラッシュして閉じると、例外が発生します。これどうやってするの?

4

1 に答える 1

0

ジョブ (何かを行う) が jsp に表示されるものから完全に独立している場合は、次のいずれかを使用できます。

  • タイマー
  • スレッド (スレッドプール内)
  • 強力なスケジューリング機能を提供するQuartzのようなより強力なライブラリ
于 2012-09-13T21:16:41.323 に答える