- PR -

Frameを使用した場合にサーバ処理の実行順について

1
投稿者投稿内容
たららん
常連さん
会議室デビュー日: 2001/11/07
投稿数: 22
投稿日時: 2005-12-09 01:59
お世話になっております。

frameを使用した場合の処理についてご質問がありまして、
書き込ませて頂きました。

APサーバ:Tomcat
フレームワーク:Struts

上のフレーム用のAction処理で行った処理結果をSessionに保存し、
その結果を下フレームのActionで利用したいと考えています。

疑問点なのですが、必ず上フレームの処理が終わってから
下フレームのActionが動くのでしょうか?
ブレークポイントを入れて試したところ、上が先に
動いているように見えます(先に上のActionの
ブレークポイントで止まっているため)。
が、必ず上のActionが終わってから下のActionが動くと
言えるのかがわかりません。

この掲示板の検索を見たりしたのですが、そのような記載を
見つけることができませんでした。

ご存知の方、又はテスト方法ありましたら教えて頂きたいと
思い投稿させて頂きました。よろしくお願い致します。



[ メッセージ編集済み 編集者: たららん 編集日時 2005-12-09 02:01 ]
K
大ベテラン
会議室デビュー日: 2004/04/07
投稿数: 174
投稿日時: 2005-12-09 02:15
フレームってのはHTMLのフレームのことですよね?

WEBアプリケーションが
クライアントからのHTTPリクエスト->サーバ側での処理->クライアントへのHTTPレスポンスという流れで動くことを理解していますか?
処理結果をどのフレームに表示するかというのは単にHTMLの記述の問題であってサーバ側の処理とはまったく関係ありません。

そのあたりを理解されてから開発に当たったほうがよろしいかと。
たららん
常連さん
会議室デビュー日: 2001/11/07
投稿数: 22
投稿日時: 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を実行するのか?

この辺りの知恵を頂けると助かります。
すみませんが、ご回答よろしくお願いします。
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2005-12-09 02:57
複数のフレームがあった場合に、どういう順番でサーバにリクエストを送るかは
クライアント側が決めることなので、サーバ側で何らかの仮定を置くことは出来ません。

というか、普通は「コネクション数の制限以内で、並列にリクエストを発行する」ものなので、
何らかの順序を仮定すべきではないでしょう。

どうしても順番にこだわるのであれば、下のフレームは最初は空っぽにしておいて、
上のフレームの onLoad のスクリプトで下のフレームを書き換えるような処理をすれば
よろしいかと。
たららん
常連さん
会議室デビュー日: 2001/11/07
投稿数: 22
投稿日時: 2005-12-11 20:32
返信遅くなりまして申し訳ございません。
ご回答ありがとうございます。

引用:

というか、普通は「コネクション数の制限以内で、並列にリクエストを発行する」ものなので、
何らかの順序を仮定すべきではないでしょう。



フレームの動きについて少し知りたかったのですが、
すっきりしました。
上フレームを期待して、下フレームを動かすようなことはしないように
致します。

ありがとうございました。



1

スキルアップ/キャリアアップ(JOB@IT)