- - PR -
URLに jsessionid をつけるときの認識エラー
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-03-28 10:50
お世話になっております。
サーブレットで開発しています。 セッションに名前をつけて継続させるためにjsessionidを使っているのですが URLの後ろに ;jsessionid= をつけると その記述部分もクラス名の一部と認識されてしまい 404ファイル未検出エラーが発生する事象に悩まされています。 調査しているのですが解決策が見つかりません。 ご教授のほどよろしくお願いします。 環境は apache 1.3.27、tomcat 3.2.4 です。 |
|
投稿日時: 2003-03-28 10:56
Tomcat 4.0.x または 4.1.x だとどうなりますか?
|
|
投稿日時: 2003-03-28 11:01
残念ながら 4.* の環境はないのですが
apache 1.3.26、tomcat 3.2.3 では問題の事象は起こりません。 |
|
投稿日時: 2003-03-28 13:40
「&jsessionid=〜」じゃないのかなと思ったりして。
|
|
投稿日時: 2003-03-28 14:00
ご回答ありがとうございます。
"&"でも試してみたのですが解決しませんでした。 |
|
投稿日時: 2003-03-28 19:07
すみません・・・
ひとこと突っ込みで間違えた。 「?jsessionid=〜」ではないかと。 何を言っているのかというと、";"はクエリ文字列の区切り文字ではないので うまくいったとしてもコンテナ依存ではないですかというつもりだったのでした。 |
|
投稿日時: 2003-03-29 00:43
URL RewritingでセッションIDを付け加える文字は
; なはずです。 SUNの研修テキストにも書いています。 ?にするとパラメータになってしまいます。 SUNのテキストには クラス名orJSPファイル名のあとに ;jsessionid=XXXとし それをresponse.encodeURL()にてURLエンコードし 受け取ったサーブレットにてgetSession()すればよい だけ書いていますね。 (http://localhost/test.jsp;jsessionid=XXX) サーブレット、JSPのバージョンによるものなら TOMCATのアップグレードしなければいけないかもしれませんね。 ご参考まで〜 |
|
投稿日時: 2003-03-29 11:54
ご回答ありがとうございます。
response.encodeURL()、response.encodeRedirectURL()とも試してみましたが 解決しません。 apacheの設定ファイル(httpd.conf?)に;jsessionの記述に関する設定があるらしいのですが はっきりしません。 何かあったらお願いします。 [ メッセージ編集済み 編集者: ume 編集日時 2003-03-29 12:17 ] |
