- - PR -
階層が違う場所でのクッキーのやりとり
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-09-22 20:47
階層が違う所でクッキーの操作をやりたいのですが、うまくいきません(取得できるクッキーの名前がJSESSIONIDのみです)。ちなみにクッキーの使用はリンク先とほぼ同じにしてあります。http://www.atmarkit.co.jp/fjava/rensai/jsp08/jsp08.html
(例) hoge.com/write/write_cookie.jspでクッキーを書き、hoge.com/read_cookie.jspを読む。 write_cookie.jspとread_cookie.jspが同じフォルダにある場合ならうまくいくのです。クッキーやJSPの使用で不可能なのでしょうか?対応策を模索しています。YESなら対応策を、NOならば理由を説明していただけませんか?よろしくお願いします。 |
|
投稿日時: 2005-09-22 21:16
jsp門外漢なので、的外れだったらごめんなさい。
階層が異なる場所でのクッキーのやり取りに関して、 cookieの仕様(ですよね?)でダメってことはないです。 jsp門外漢なので、もしかしたらおかしなこといってるかもしれませんが、 ヒロシマケンさんも参照されている@ITの記事をみて私見ですが、 Set-Cookie HTTP 応答ヘッダーのpathに適切な値をセットしていないのではないでしょうか? 明示的にセットしていなければ、Set-Cookie HTTP 応答ヘッダーを送信しているURLの階層がセットされるので、それより上の階層で読めないだけではないでしょうか? setPath(java.lang.String uri) このメソッドがpathをセットするもののようなので、これでpathを明示的にセットしたらどうなりますか? example.com/以下で取得できるようにしたいのであれば、 setDomain(java.lang.String pattern)メソッドで、example.comを、 setPath(java.lang.String uri)メソッドで、/を指定すれば、 ご希望のようになるのではないかなと思いました。 PerlやJavaScriptではcookie扱ったことあるんですが、 jspはまったく知らないので、頓珍漢なことを言っていたら御容赦ください…… |
|
投稿日時: 2005-09-22 23:19
setPath でクッキーのスコープをルートレベルにすれば良いと思います。
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/Cookie.html#setPath(java.lang.String) |
1