プロが教えるわが家の防犯対策術!

はじめまして。
JAVA&サーブレット初心者です。
現在、サーブレット、JSPを使ったWEBアプリケーションの開発をしてお
ります。
左右二つに分かれたフレームを持つWEBアプリケーションを作っています。
大まかな流れとしては以下の通りです。
 (1)左側のフレーム(仮にleft.jspとします)からサーブレット
 (仮にservlet1とします)を呼び出す。
 (2)右側フレームに(1)の処理結果のJSP(right1.jsp)を呼び出す
 (3)right1.jspでサーブレット(servlet2)を呼び出す。
 (4)右側フレームに(3)の処理結果のJSP(right2.jsp)を呼び出す。
 (5)right2.jspでサーブレット(servlet3)を呼び出す。
 (6)右側フレームに(5)の処理結果のJSP(right3.jsp)を呼び出す。
  上記のように左側フレームが固定で右側フレームのJSPがサーブ
 レット処理によって切り替わるようなWEBアプリケーションを開発し
 ています。
 
 問題なのは、今回開発しているシステムの要件により、(5)で呼び出され
るサーブレット(servlet3)内の処理で左側のフレーム(left.jsp)の入力
パラメータが必要だということです。

 servlet1でleft.jspの入力パラメータをセッションオブジェクトに保管
し、servlet3でセッションオブジェクトから復元すれば実現は可能かと思
いました。
 しかし、途中servlet2からの処理が大変重いものであり、セッションオ
ブジェクトは一定時間がたつと無効になってしまうと聞いたのでタイトル
のような方法を考えたのですが、見当がつかず、今回の質問に至りました。

 request.getParameter("****");

ではもちろん取り出せないと思いますが、サーブレットで別フレームのパ
ラメータを取り出すことは可能でしょうか?

A 回答 (1件)

まず、セッションオブジェクトの保持期間はサーバーの設定により変更可能になります。

Webサーバーと、WebApplicationServerの設定とあるので注意してください。
セッションオブジェクトで事が済むならそれでよいのですが、それでも駄目なら。。

左フレームから、右フレームに値を持ってくるのには、JavaScriptを使用してはいかがですか?

<FRAMESET cols="68%,*">
<FRAME src="left.html" name="left">
<FRAME src="right.html" name="right">
</FRAMESET>

parent.left.document.forms[FormName].elements[element].value="";
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!