- PR -

クッキーをPCに生成し、直後のJSP内で取得できません!

1
投稿者投稿内容
こん
常連さん
会議室デビュー日: 2005/02/23
投稿数: 44
お住まい・勤務地: 東京
投稿日時: 2005-02-23 14:01
クッキーをPCに生成し、直後のJSP内で取得できません!

会員登録完了(他社サイト)後、自社サイトの会員登録画面へ遷移しその
JSP内でクッキー情報を取り出そうという実装中です。

クッキーはアクションから”response”にセットして、直後の遷移JSP
画面でクッキー内情報を取得しようとしていますが、どうやってもできませ
ん。1度別の遷移、例えばエラー表示させたりした後、戻って進めると成功
します。PCへはクッキー生成をアクションから出た直後生成される事は確
認できています。なぜなんでしょうか?
こん
常連さん
会議室デビュー日: 2005/02/23
投稿数: 44
お住まい・勤務地: 東京
投稿日時: 2005-02-23 14:13
失礼いたしました。環境です。

j2sdk1.4.2_05
jboss-3.2.3
eclipse2.1
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-02-23 14:21
直後の JSP というのはサーブレットから転送されたページのことでしょうか?
その時点で参照しているリクエストオブジェクトは直前のサーブレットを要求した際のクッキーの情報しか入っていません。
リクエストオブジェクトからクッキーが取り出せるのはその次のリクエストからですね。
サーブレットからJSPに何らかの情報を伝えたい場合は request.set/getAttribute() を使いましょう。

または、現在の JSP のままクッキーを取得したいのであれば転送ではなくリダイレクトを使えば一応対応できます。

[ メッセージ編集済み 編集者: インギ 編集日時 2005-02-23 14:22 ]
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2005-02-23 14:44
他社サイトの会員登録完了画面・・・(A)
自社サイトの会員登録画面・・・・・(B)

(A)で発行したクッキーを(B)で取得したいという話でしょうか?
だとすると、(A)でクッキーを発行する時点で「それが(B)ドメインのものである」と
設定しておく必要があります。
普通に(A)サイトで使っていたクッキーを(B)サイトで取得することはできません。

javax.servlet.http.Cookie#setDomain() を参照。
こん
常連さん
会議室デビュー日: 2005/02/23
投稿数: 44
お住まい・勤務地: 東京
投稿日時: 2005-02-23 14:44
ご回答頂き本当にありがとうございました。
関連の既存の方法を使うように話があったのでクッキーで
伝達しようとしてました。set.attributeを使う緊急対応
はしてましたが、これで吹っ切れました。あと、リダイレ
クトでももう一度ためしてみます。この度は本当に有難う
御座いました。
こん
常連さん
会議室デビュー日: 2005/02/23
投稿数: 44
お住まい・勤務地: 東京
投稿日時: 2005-02-23 14:51
coasmさん

ご回答頂き本当にありがとうございました。

//普通に(A)サイトで使っていたクッキーを(B)サイトで取得することはできません。

ということはリダイレクトで一枚JSPとアクションを挟んでも無理なのでしょうか?
(一度試してだめでした)本当に度々申し訳御座いません。

//javax.servlet.http.Cookie#setDomain() を参照。
↑の実装を試してみます。有難う御座いました。
1

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