• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:サーブレットからJSPへフォワード 画像が・・・)

サーブレットからJSPへフォワード 画像が・・・

このQ&Aのポイント
  • サーブレットで処理を行った後にJSPへフォワードした時、画像やスタイルシートが表示されない問題が発生しています。
  • JSPを直接開いたり別のURLに遷移した場合は画像もスタイルシートも正常に表示されますが、サーブレットからのフォワードでは表示されません。
  • 可能な解決策としては、フォワード時に必要なパスを正しく指定することや、フォワード前にレスポンスの情報をクリアすることが挙げられます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Lchan0211
  • ベストアンサー率64% (239/371)
回答No.1

もし、index.jsp内で画像ファイルやスタイルシートへのリンクを 相対パス指定で記述しているなら、そのような現象になる可能性があります。 例えばindex.jsp内に <img src="image/画像ファイル名"> のように記述されていると仮定して、 http://hostname/webap1/index.jsp を呼び出した場合、img srcタグで指定されている 画像ファイルのアクセス先は、 現在表示しているURLパス(http://hostname/webap1/ )の 相対位置(image/画像ファイル名)となるため、 正しく http://hostname/webap1/image/画像ファイル にアクセスします。 一方、サーブレットからフォワードされた場合、 サーブレットのURLを http://hostname/webap1/sevlet1/ とすると、ブラウザにとって画像ファイルのアクセス先は、 現在表示しているURLパス(http://hostname/webap1/servlet1/ )の 相対位置(image/画像ファイル名)になるため、 http://hostname/webap1/servelet1/image/画像ファイル にアクセスしようとし、エラーとなります。 リダイレクトした場合は、アクセス先URLが http://hostname/webap1/index.jsp に替わったことがブラウザに通知され、改めてブラウザから http://hostname/webap1/index.jsp にアクセスするため、正しく表示できます。

関連するQ&A