2017-07-15 15 views
-1

まず、この件に関する多くの記事を読んでいますが、私はこの問題を解決できません。 私はjspやWebアプリケーションには本当に新しいです。私がしたいのは、単純な画像を表示することだけです。 私は、サーブレットで、このコードを持っている:jspで画像を表示しているときにエラーが発生しました

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    HttpSession sesion = request.getSession(); 
    String filePath = getServletContext().getRealPath("image.jpg"); 
    System.out.println(filePath); 
    sesion.setAttribute("image", filePath); 
    response.sendRedirect("products.jsp"); 
} 

とJSPでこのコード:

<img alt="logo" src="${image}"/> 

をそして、私のWebアプリケーション内のフォルダは、このです: folders image

そして最後に、とき私のページが読み込まれ、これは私が得るものです: image does not display

ここのエラーですか?なぜそれほど複雑なのですか(多分そうではありませんが、私は実際に多くの方法を試してみましたが、そのうちのどれも単純な画像を表示しませんでした)?

ご協力いただきありがとうございます。

PSは:フォルダが正しいか、それはのprintln()

+0

使用放火犯:

代わりにこれを試してみてください。 – tima

答えて

0

getRealPath()あなたのファイルシステム内の実際のパスを取得するには問題なく印刷されます。

ウェブ内の任意のリソース(image、js、css)を参照する場合、ウェブ経由でアクセスできるはずです。の

<img alt="logo" src="C:/whatever-your-path-is/image.jpg"/> 

しかし、あなたが必要とする(完全または相対)URLパスです:

ブラウザで「ビューのソースコード」をクリックした場合、あなたはおそらく、タグでFILシステムパスが表示されますリソース。右の画像をクリックするとsrc`属性 `の値が何であるかを検査し、ChromeでFirefoxや開発ツールで

sesion.setAttribute("image", "resources/images/image.jpg"); 
+0

私は今、とても馬鹿だと感じます。ありがとう、これは答えです。 –

+0

母親、心配しないで、最高の家族でも起こります。私はかつてなぜ "S" == myVar(値が "S"だったか)が偽であると疑問に思っていました。喜んで助ける – gmanjon

関連する問題