- - PR -
addHeaderの使い方
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-07-15 11:18
Test1サブレートに下記のコードを書いても、飛び先Test2のヘッダに
myName=Hideがありません。 ==Test1の抜粋== response.addHeader("myName","Hide"); response.sendRedirect("http://xxx.yyy.zzz/web/servlet/Test2"); ========== ==Test2の抜粋== for (Enumeration e = request.getHeaderNames() ; e.hasMoreElements() thisName = e.nextElement().toString(); out.println(thisName + " ="); thisValue = request.getHeader(thisName); out.println(thisValue + "<BR>"); if(thisValue != null){ headerHash.put(thisName,thisValue); } } ========== setHeaderも試しましたが、同じ結果になりました。 addHeaderを利用して、飛び先サブレートに情報を渡す方法を教えて頂きたく、 宜しくお願いいたします。 |
|
投稿日時: 2003-07-15 14:59
addHeader は現在のコンテンツに対してのメソッドなので、
Hideさんの意図しているような事は不可能です。 クエリーストリングで渡すのはダメですか? response.sendRedirect("http://xxx.yyy.zzz/web/servlet/Test2?myName=Hide"); 取得の仕方は HttpServretRequest::getParameter() を参照してください。 |
|
投稿日時: 2003-07-15 15:21
Shinさん、
ご回答ありがとうございます。 クエリーストリングで渡すとGET方法と同じようになりますので、 できれば、POST方法のような渡し方のほうがよいです。 POSTで渡すとFormにSubmitを実行する必要がありますよね。 Submitを実行する必要がなく、自動的に次のサブレートへ飛ばして、 POST方法でパラメータを渡す方法を分かれば、教えてください。 宜しくお願いいたします。 Tan |
|
投稿日時: 2003-07-15 17:02
用語は正確に。
少なくとも日本では「サブレート」ではなく「サーブレット」が一般的かと。 本題。 RequestDispatcher#forword()あたりがやりたいことでしょうかね? |
|
投稿日時: 2003-07-15 17:15
まりりさん、
御教示ありがとうございます。 以下のようなシナリオで運用したいです。 サーバ1のサーブレットTest1からサーバ2のサーブレットTest2へ自動的にジャンプします。 ジャンプする同時にmyName=Hideを渡したいです。 但し、下記のようなクエリーストリングで渡すではなくて、POST方法やヘッダに書き込むように渡したいということです。 response.sendRedirect("http://xxx.yyy.zzz/web/servlet/Test2?myName=Hide"); サーバが違いますので、クッキーに書き込むこともできません。 |
|
投稿日時: 2003-07-15 22:38
Hideさん、POSTされたときクライアントが送信するパラメータがコンテンツ
としてどのように渡されるかご存知でしょうか? もしご存知なら、javax.servlet.Filterとか使ってみるのもいいかも 知れません。 ご存知でなかったら、クライアントが送るコンテンツを読む簡単なサーブ レットを作って試して見てください。ヒントになると思いますよ。 |
|
投稿日時: 2003-07-16 10:05
こんにちは。わらびです。
まりりさんのおっしゃる通り、リクエスト領域に値をセットして forword()を使えば、フォーワード先でその値wp参照することができます。 |
|
投稿日時: 2003-07-16 10:06
こんにちは。わらびです。
まりりさんのおっしゃる通り、リクエスト領域に値をセットして forword()を使えば、フォーワード先でその値wp参照することができます。 |
