Webアプリケーション開発初心者です。
Struts 1.28 を使っているのですが、トップページにいくつかリンクがあるのですが、実行するとそれらの後ろに;jsessionid=...(省略)の文字列が自動的に追加されます。画面のリロードをすると消えるのですが、画像のソースのところも追加されるので画像が表示されません。jsessionidが自動的に追加されないようにしたいと思います。
JSPでセッションを有効にしても無効にしても解決されません。また、リンクのところは Struts の <html:link を使っています。
どなたか解決方法を教えていただけないでしょうか。よろしくお願いいたします。
ちなみに環境は
Apache 5.5
JDK 1.5
Struts 1.2.8
web.xml 2.4
No.2ベストアンサー
- 回答日時:
> 変換後
> <a href="/;jsessionid=ECEB94195E55DCB9D7ECE9BD4559D871">
> <img src="/images/logo.gif;jsessionid=ECEB94195E55DCB9D7ECE9BD4559D871">
> </a>
時間があったので同じものを作って、クッキーをオフにし、強制的にjsessionidが付加される形にして試してみました。
全く同じように<a hrefにも<img srcにもjsessionidが付加されましたが、イメージは問題なく表示されましたし、リンクも問題なく移動できました。ローカル上からだけでなく、LAN内ですが他のマシンからアクセスしても問題はありませんでした。
つまり、;jsessionidがついているためにファイルやページが認識できなくなってしまうわけではないようですね。となると、そちらの環境か設定の問題なのかもしれません。
とりあえず、補足のコードそのものはこちらでは動くということだけご報告しておきます。他の原因となると、ちょっと今は思いつかないのですけど・・・。
わざわざテストしていただきありがとうございます。
こちらでも一度画面のリロードすると表示されることがわかりました。キャッシュとかの問題かなと思っています。
No.1
- 回答日時:
jsessionidは、セッションをトラッキングするためのキーとして扱われるものです。
サーブレットでは通常、クッキーとして保存されますが、それできない場合にはURLに付加した形でURLリライトされます。Strutsは、常にセッションを確立した形で機能するよう設計されています。このため、クッキーのように状況によって使えないこともある方式では問題がある場合には、どのような状況でも常にセッショントラッキングが可能なURLリライティングを使ってjsessionidを受け渡しているのだろうと思います。
jsessionidを受け渡さないということはセッションがトラッキングできない場合が生ずるということであり、これはStrutsの設計そのものが破綻しますので、できないようになっているのではないかと思うのですが。
これはStrutsに限らず、例えばセッションを常に使うJSFなどでも同様の現象が見られますから、セッション必須のフレームワークでは避けられないものなのではないでしょうか。
ちなみに、「画像のソースのところも追加されるので画像が表示されません。」この意味が分からないのですが。Strutsを使っていて、jsessionidが原因でイメージが表示できなくなったことがないので、どういう状況なのかよくわかりません。そのあたり、どのようにして記述をしていてどういう表示になって動かないのかをもう少し具体的に書いていただければと思います。
この回答への補足
ご回答ありがとうございます。
イメージが表示されないのはたとえば以下のような場合に発生します。
変換前
<html:link forward="top">
<html:img src="/images/logo.gif"/>
</html:link>
変換後
<a href="/;jsessionid=ECEB94195E55DCB9D7ECE9BD4559D871">
<img src="/images/logo.gif;jsessionid=ECEB94195E55DCB9D7ECE9BD4559D871">
</a>
imgタグのsrcの部分にもjsessionidが付加されます。そのため、画像が見つからずに表示されません。
以上、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- 画像編集・動画編集・音楽編集 AfterEffectでのシャターの挙動がおかしい 1 2023/05/07 00:38
- iPhone(アイフォーン) web上の電話番号リンクの桁区切りが、iPhoneだと特定電話番号でおかしくなるのを解決したい 1 2023/03/28 14:27
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 1 2022/06/18 21:20
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- UNIX・Linux Linux Ubuntu22.4の起動時エラーについて 2 2022/07/22 14:52
- iOS システムの復元の実行 3 2023/08/28 22:26
- Visual Basic(VBA) ユーザーフォームでのリストボックス連動(VBA) 3 2022/11/28 11:41
- その他(ソフトウェア) Googleドライブの使い方が分からないのですが、公式に質問できるような所も見つからないのでこちらで 1 2023/08/11 20:42
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DVD-Rの「セッションを閉じる」...
-
コネクション・セッション・ト...
-
コンピュータへの接続数が最大...
-
戻ると、記入フォームの内容が...
-
PageLoadの後にJavascript実行...
-
無限ループ objIE.Navigate
-
ACCESS2010 WEBブラウザーコン...
-
Media Player のスクリーンショ...
-
VBAで一時中断したプログラムの...
-
【ASP.net】SqlDataSourceについて
-
HTMLボタンの文字色を変え...
-
F2+Ctrl押下時のイベント記述方法
-
コンボボックスのインデックス...
-
VBAでHTTPログイン
-
【VB6】 変数1 = 変数1 Or $H2
-
asp.netにてgridviewの列を動的...
-
HTMLでのid とnameの違い
-
word画面にmicrosoft の画面が...
-
regeditで環境変数を展開させな...
-
SuspendLayoutが効かない?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コネクション・セッション・ト...
-
コンピュータへの接続数が最大...
-
会社への勤怠届出にGoogleフォ...
-
DVD-Rの「セッションを閉じる」...
-
ブラウザの×(閉じる)ボタンの...
-
ブラウザを閉じずにセッション...
-
セッションIDを取得したい
-
DVDの中身が表示されません。
-
WCFのwsDualHttpBindingについて
-
ASP.NET 電卓計算
-
ルータのPPPのランプの色が変
-
CD-Rに追記したときに消え去っ...
-
自分のPCへアクセスしているコ...
-
JSPでポップアップウィンド...
-
遠隔操作されてる?
-
ショッピングカートのプログラ...
-
別ブラウザにセッションを渡す...
-
javaでのアクセスカウント
-
セッション変数の破棄と再設定
-
Apacheでセッション管理
おすすめ情報