- - PR -
処理済み(経過)件数を画面へ表示する方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-05-20 14:58
いつもお世話になっています。
servletないでDB更新中にその処理済件数をJSPに渡して表示したいのですが、 何かよい方法はないでしょうか?処理済件数については既に取得できています。 今悩んでいるのは更新処理のループ処理中にどのようにしてJSPへフォワード してやればよいのか?ということです。 |
|
投稿日時: 2005-05-20 15:49
サーバから実行途中の結果をJSP(クライアント)に渡したいと言う事でしょうか?
結論から言うと無理です。 サーバ発の動作はWEBアプリケーションではできません。 リクエストもないのにどこに結果を返していいかサーバは知りません クライアント(ブラウザ)から取得するような機構が必要です。 サーバに絶えずリクエストを発行するのでサーバの負荷がかかりすぎるので、お勧めはできませんが、今思いつくものでしたら 実行途中結果をサーバ内のファイル(スナップショット)(セッションで区別できるような)に書き込む。 ファイルはHTML形式で用意しておき、ファイルがなくなれば処理終了となる クライアント(ブラウザ)からは数ミリ秒間隔でサーバにスナップショットファイルの問い合わせをする。 のような処理が必要になると思います。 |
|
投稿日時: 2005-05-20 16:00
hiroさんどうも有難うございました。
私もなんとなく無理な気はしていたのですが、いまいち確信が持てませんでした。 おかげさまで、この方法ではできないということがわかりました。 hiroさんに教えていただいた方法でやってみたいと思います。 |
|
投稿日時: 2005-05-20 16:04
件数を取得した時点で下記のようなJSPにForwardして表示を行い
そのJSPから実際のデータ取得処理を行うURLへリクエストを発行するのはどうでしょうか? <html> <head> <meta http-equiv="Refresh" content="0;URL=http://hoge.com/app/serch"> </head> <body> 100件取得しました </body> </html> |
|
投稿日時: 2005-05-20 16:28
処理を別スレッドで行うように工夫すればできないことはありません。
ちょっと手間がかかりますが。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7110&forum=12 |
|
投稿日時: 2005-05-20 21:32
JMSかMessageDrivenBeanを利用しましょう。
|
|
投稿日時: 2005-05-21 01:21
今流行のAjaxはどうですか?
DHTML/JavaScriptでゴリゴリ記述します。 XMLHttpを使用して、サーバに処理済件数を指定の間隔で取得し、 コンプリートのメッセージを取得すれば、 完了済みのページに遷移するということもできますね。 |
|
投稿日時: 2005-05-21 01:27
itkmhさん、インギさん、Anthyhimeさん、かつのりさんどうも貴重なご意見ありがとうございます。
色々な方法があるものですね。 参考にさせていただきます。 |
1