- PR -

RequestDispatcher#forwardが重たい

1
投稿者投稿内容
sinh
ベテラン
会議室デビュー日: 2003/01/22
投稿数: 87
投稿日時: 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秒もかかることなく遷移するのですが、
メモリが足りないなどの問題なのでしょうか?


よろしくお願いします。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-10-12 15:49
>メモリが足りないなどの問題なのでしょうか?

というよりも、

>jsp1が巨大な場合(ソースで3万行ぐらい)の場合に

これが一番の問題かと・・・。
3万行のうち、表示に
関係無いコードがたくさん含まれいると思うので、
表示に関係ある要素とそうでない要素を分けてみた
方が良いと思いますよ。

JSP → Javaソースの変換だけでも凄く重そうだ・・・。
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2006-10-12 16:02
サーブレット・クラスなんてひとつもなくて、
JSPにスクリプトレットが、がしがし書いてあるのかなあ・・・。
MVCモデルって何?ってな感じで。
sinh
ベテラン
会議室デビュー日: 2003/01/22
投稿数: 87
投稿日時: 2006-10-12 23:20
小僧さん、Edossonさん、すいません。

説明が言葉足らずでした。
JSP自体は、500〜600行程度なのですが、
それをTomcat上で実行してHTMLのソース表示を
させた場合に、数万行となってしまっております。

投稿以降も、原因をいろいろと調査しているのですが
全くわからず困っております。


よろしくお願いします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-10-13 01:04
forwardの場合だけ重たいということでしょうか?
恐らく数万行のhtmlの生成/送信に時間がかかっているだけで、forward していない場合でも同様ではないでしょうか。
sinh
ベテラン
会議室デビュー日: 2003/01/22
投稿数: 87
投稿日時: 2006-10-13 14:14
インギさんの"forwardの場合だけ"というのは、
"redirectの場合はどうか?"、ということでしょうか?

一応redirectも試したのですが、
redirectの場合も、同じように数十秒かかっております。

インギさんの指摘どおり、htmlの生成/送信に時間が
かかっているように感じるため、画面構成を変えるなどして
対応していきたいと思います。

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

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