'myapp.war'という名前のwarファイルをtomcat6webappsフォルダー内にデプロイすると、jspの画像が正しく読み込まれますが、webapps / ROOTフォルダー内にデプロイすると、画像がjspに読み込まれません。
WARファイルの構造
-- myapp
- WEB-INF
-jsp
-images
jspページでは、imagesフォルダー内の画像は次のように呼ばれます。
<img src="images/img1.png"/>
画像の参照には絶対パスを使用する必要があります。その中にcontextPathを含めると、アプリケーション パスが変更されてもリンクが機能するはずです。試す
<img src="${pageContext.request.contextPath}/images/mobile.png" height="34" width="38" alt="mobile" />
私は最終的に解決策を見つけました。
コードがROOT内にデプロイされるか、warがwebapp内にデプロイされ、tomcat server.xmlのコンテキストを変更してROOTアプリケーションとして作成された場合に何が起こるか
どちらの方法でも、Tomcat は完全な戦争の内容が tomcat webapp フォルダー内に直接あるように考慮しています。
この images フォルダーがオーバーライドされたため、webapps 内に直接 images という名前のフォルダーが既にありました (他の目的で)。そのフォルダーを削除/名前変更すると、予想される画像(jspから呼び出される画像)が表示され始めました。