質問: ### 前提・実現したいこと Servlet/JSPの勉強中なのですが、画像が表示されません。 ### 発生している問題・エラーメッセージ ``` エラーはありませんが画像が表示されません。 フォルダーの構造はこうです。※スクリーンショットです。 http://or2.mobi/index.php?mode=image&file=143881.jpg ``` ### 該当のソースコード ``` <%@page contentType="text/html" pageEncoding="UTF-8"%> JSP Page ``` ### 試したこと パスがおかしいと思い、下記パターンに闇雲に変えてみました。 ※生成されるHTMLは全て素直にこの通りに記述されています。 /WebApplication/web/image/1.jpg WebApplication/web/image/1.jpg /web/image/1.jpg web/image/1.jpg /image/1.jpg image/1.jpg /1.jpg 1.jpg ### 補足情報(言語/FW/ツール等のバージョンなど) JSPにフォワードしているサーブレットのパスは、 E:\netbeans\workspace\WebApplication\src\java\main\Controller.java JSPのパスは、 E:\netbeans\workspace\WebApplication\web\WEB-INF\index.jsp 画像のパスは、 E:\netbeans\workspace\WebApplication\web\image\1.jpg です。 実行方法は、netbeansの実行ボタンで実行しています。 また、 のようにweb上の画像を指定した場合は正常に表示されます。 サーブレットは、 @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.getRequestDispatcher("WEB-INF/index.jsp").forward(request, response); } としており、フォワード自体は正常に出来ています。
回答: とありますが、src属性に書く場合はURLのパスです。 ※拡張子がjpsになっているのが気になりますが 画像を置いているディレクトリは \workspace\WebApplication\web\image\1.jpg です。つまり、{Webアプリケーションのコンテキストパス}/image/1.jpg が正しいでしょうか。