質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

3088閲覧

画像の表示について

terashamo

総合スコア20

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/06/19 10:57

編集2022/01/12 10:55

###前提・実現したいこと
ローカルに保存してある画像を表示させたい。
(ローカルどころか、何故かプロジェクト内の画像すら表示できません)

###該当のソースコード

HTML

1<img src="${path}"> 2<img src="../img/001.jpg"> 3<img src="${pageContext.request.contextPath}/img/001.jpg">

###試したこと
上記の1行目のpathの中身は
/Volumes/USBROBO/ファイル/画像/001.jpgで、
http://localhost:8080/Volumes/USBROBO/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB/%E7%94%BB%E5%83%8F/001.jpg 404 (Not Found)
というエラーが出ています。(検証のコンソールにて)
日本語混じりorローカルを見ているから表示されないのかと思い
001.jpgをWebContent/imgに移動させ、ひとまず画像表示だけしてみようと
上記の2,3行目の方法で表示を試みたのですが、ダメでした。
(こちらはエラーは出ていません)
###補足情報(言語/FW/ツール等のバージョンなど)
eclipseで開発しています。
Java(Servlet/jsp)です。

ものすごく初歩的なことで申し訳ないのですが・・・
よろしくお願いいたします。

ここから追記です。
エラーが出ていました...

java.lang.ClassNotFoundException: jp.co.files.command.null at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at jp.co.files.servlet.Controller.doPost(Controller.java:64) at jp.co.files.servlet.Controller.doGet(Controller.java:40) at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at jp.co.files.filter.EncodeingFilter.doFilter(EncodeingFilter.java:25) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)

書籍に載っていたコマンドパターン?を真似して作成しているのですが、それが悪さしているのでしょうか...?

@WebServlet({ "/" }) public class Controller extends HttpServlet { private static final long serialVersionUID = 1L; private HashMap<String, String> commands; private String CommandsTable[][] = { { "top", "Top" }, { "menu", "Menu" }, { "process", "Process" }, { "lib", "Lib" } }; public void init() throws ServletException { commands = new HashMap<String, String>(); for (int i = 0; i < CommandsTable.length; i++) { commands.put(CommandsTable[i][0], CommandsTable[i][1]); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getRequestURI().split("/")[request.getRequestURI().split("/").length - 2]; String methodName = request.getRequestURI().split("/")[request.getRequestURI().split("/").length - 1]; if (methodName.equals("booker")) { action = "top"; } String className = commands.get(action); Command command; String url; try { command = (Command) (Class.forName("jp.co.files.command." + className).newInstance()); url = command.execute(request, methodName); request.getRequestDispatcher(url).forward(request, response); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { e.printStackTrace(); } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masaya_ohashi

2016/06/20 00:16

WebContent/imgに入っているなら三行目で動きそうなものですが…「ダメでした。 (こちらはエラーは出ていません)」というのはどういう状況ですか?
coco_bauer

2016/06/20 03:03

質問のHTMLがあるフォルダーの親フォルダーにimgフォルダーを作り、その中に001.jpgを置いてください。そうすれば、2行目で画像が表示さるかと思います。 「Java(Servlet/jsp)です」と書かれていますが、この件にjavaは関係していないように思われます。
terashamo

2016/06/20 13:41

ありがとうございます >masaya_ohashiさん 検証のコンソールでエラーが出ていない、という状況です。 ただ、よく見てみるとeclipseのコンソールでエラーが出ていました... 質問に追記しておきます。 >coco_bauerさん /WebContent/jsp/view.jspで画像を表示させたいので /WebContent/img/001.jpgで、よろしいでしょうか? 一応今はこの構成になっているのですが...
guest

回答1

0

「java.lang.ClassNotFoundException: jp.co.files.command.null」より
「String className = commands.get(action)」の結果がnullになっていますね。
その前の「String action」が何を表しているか確認して下さい。
"top","menu","process","lib"以外になっていませんか。
(requestから取得する位置に誤りはありませんか。)

投稿2016/07/06 03:32

dsuzuki

総合スコア1682

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問