- - PR -
Frameを使用した場合にサーバ処理の実行順について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-12-09 01:59
お世話になっております。
frameを使用した場合の処理についてご質問がありまして、 書き込ませて頂きました。 APサーバ:Tomcat フレームワーク:Struts 上のフレーム用のAction処理で行った処理結果をSessionに保存し、 その結果を下フレームのActionで利用したいと考えています。 疑問点なのですが、必ず上フレームの処理が終わってから 下フレームのActionが動くのでしょうか? ブレークポイントを入れて試したところ、上が先に 動いているように見えます(先に上のActionの ブレークポイントで止まっているため)。 が、必ず上のActionが終わってから下のActionが動くと 言えるのかがわかりません。 この掲示板の検索を見たりしたのですが、そのような記載を 見つけることができませんでした。 ご存知の方、又はテスト方法ありましたら教えて頂きたいと 思い投稿させて頂きました。よろしくお願い致します。 [ メッセージ編集済み 編集者: たららん 編集日時 2005-12-09 02:01 ] | ||||
|
投稿日時: 2005-12-09 02:15
フレームってのはHTMLのフレームのことですよね?
WEBアプリケーションが クライアントからのHTTPリクエスト->サーバ側での処理->クライアントへのHTTPレスポンスという流れで動くことを理解していますか? 処理結果をどのフレームに表示するかというのは単にHTMLの記述の問題であってサーバ側の処理とはまったく関係ありません。 そのあたりを理解されてから開発に当たったほうがよろしいかと。 | ||||
|
投稿日時: 2005-12-09 02:40
早速のご回答ありがとうございます。
>フレームってのはHTMLのフレームのことですよね? はい、フレームというのはHTMLのことです。 >クライアントからのHTTPリクエスト->サーバ側での処理->クライアントへのHTTPレスポ>ンスという流れで動くことを理解していますか? すみません、知識不足のようです。 ただ、やはり疑問になっていますので、申し訳ござませんがもう少し ご質問させてください。 <frameset rows="50%,*"> <html:frame page="/app/abc.do" /> <html:frame page="/app/xyz.do" /> </frameset> のようなことをしたいときに、xyz.javaは abc.javaがセッションに保存した値で検索をしたいと 考えています。そこで、abc.javaが必ず先に実行され、 その処理が終わってから動くのかを知りたいと思っております。 画面からのリクエスト情報->abc.doの実行->abc.doの実行完了-> xyz.doの実行->・・・ であればいいのですが、 画面からのリクエスト情報->xyz.doの実行->xyz.doの実行完了-> abc.doの実行->・・・ になったりすることがあるならば、 考えていることはできないことになってしまいます。 abc.doを必ず先に実行するのか? また、abc.doの終了後にxyz.doを実行するのか? この辺りの知恵を頂けると助かります。 すみませんが、ご回答よろしくお願いします。 | ||||
|
投稿日時: 2005-12-09 02:57
複数のフレームがあった場合に、どういう順番でサーバにリクエストを送るかは
クライアント側が決めることなので、サーバ側で何らかの仮定を置くことは出来ません。 というか、普通は「コネクション数の制限以内で、並列にリクエストを発行する」ものなので、 何らかの順序を仮定すべきではないでしょう。 どうしても順番にこだわるのであれば、下のフレームは最初は空っぽにしておいて、 上のフレームの onLoad のスクリプトで下のフレームを書き換えるような処理をすれば よろしいかと。 | ||||
|
投稿日時: 2005-12-11 20:32
返信遅くなりまして申し訳ございません。
ご回答ありがとうございます。
フレームの動きについて少し知りたかったのですが、 すっきりしました。 上フレームを期待して、下フレームを動かすようなことはしないように 致します。 ありがとうございました。 |
1