- 締切済み
jspの評価のタイミング
同じリクエストで、ひとつのjspページが、2回同時に評価されている現象が起こりました。 原因を調べているのですが、どうもひとつのリクエストで同時に評価されているのは間違いないようです。 それが原因で、beanのメソッドが2回同時に働き、正しい動作をしません。 jsp内のコードが実行されるタイミングはどのようなときでしょうか? また、2回評価される可能性はどのような時にありますか? もしご存知の方がいらっしゃいましたら教えていただきたいです。よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chi-kon
- ベストアンサー率43% (58/132)
回答No.1
Beanのメソッドが実行されるとありますが、 それはコンストラクタ内で読んでいるメソッドではありませんか? だとするとsessionにBeanが登録されていない状態で <jsp:useBean>などを使うとコンストラクタが2回呼ばれることになります。 JSPが2回というよりただBeanのメソッドが2回走っているのではないでしょうか? JSPが2回呼ばれているのはどのように調べたのですか?
お礼
解決しました。 どうもありがとうございます。 2回走っているというのは、beanやコントローラーのメソッドに、メソッドが呼ばれるたびに乱数をつけて、メソッドの途中でその乱数を表示させ続けました。これで同じメソッドが別々に走っていることを確認しました。 これをみると、同じコントローラーが二回同時に呼ばれていて、同時に同じメソッドが呼ばれていました。 結果ですが、結局はリンク元のjspのsubmitで、javaスクリプトの間違いでブラウザが本当に2回リクエストを発行していました。 ご回答ありがとうございました。