- - PR -
RequestDispatcher#forwardが重たい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-10-12 15:27
sinhと申します。
現在、 Windows XP sp2 Tomcat 4.1.31 JDK 1.4.2.11 IE 6 sp2 環境で開発を行っています。 その開発してる中で jsp1→Servlet→jsp2 上記のように遷移するところがあるのですが、 jsp1が巨大な場合(ソースで3万行ぐらい)の場合に Servlet→jsp2のRequestDispatcher#forwardで 40〜60秒ぐらい画面が固まってしまいます。 (RequestDispatcher#forwardの前後にログを入れて 確認を行っています。) 同一の処理でも、jsp1が小さい場合には 問題なく1秒もかかることなく遷移するのですが、 メモリが足りないなどの問題なのでしょうか? よろしくお願いします。 |
|
投稿日時: 2006-10-12 15:49
>メモリが足りないなどの問題なのでしょうか?
というよりも、 >jsp1が巨大な場合(ソースで3万行ぐらい)の場合に これが一番の問題かと・・・。 3万行のうち、表示に 関係無いコードがたくさん含まれいると思うので、 表示に関係ある要素とそうでない要素を分けてみた 方が良いと思いますよ。 JSP → Javaソースの変換だけでも凄く重そうだ・・・。 |
|
投稿日時: 2006-10-12 16:02
サーブレット・クラスなんてひとつもなくて、
JSPにスクリプトレットが、がしがし書いてあるのかなあ・・・。 MVCモデルって何?ってな感じで。 |
|
投稿日時: 2006-10-12 23:20
小僧さん、Edossonさん、すいません。
説明が言葉足らずでした。 JSP自体は、500〜600行程度なのですが、 それをTomcat上で実行してHTMLのソース表示を させた場合に、数万行となってしまっております。 投稿以降も、原因をいろいろと調査しているのですが 全くわからず困っております。 よろしくお願いします。 |
|
投稿日時: 2006-10-13 01:04
forwardの場合だけ重たいということでしょうか?
恐らく数万行のhtmlの生成/送信に時間がかかっているだけで、forward していない場合でも同様ではないでしょうか。 |
|
投稿日時: 2006-10-13 14:14
インギさんの"forwardの場合だけ"というのは、
"redirectの場合はどうか?"、ということでしょうか? 一応redirectも試したのですが、 redirectの場合も、同じように数十秒かかっております。 インギさんの指摘どおり、htmlの生成/送信に時間が かかっているように感じるため、画面構成を変えるなどして 対応していきたいと思います。 ありがとうございました。 |
1