2012-02-20 23 views
5

JSPで画像を表示できません。また、外部のJavascript/jQueryからSRCにアクセスすることもできません。次のJSPページには、<img>というタグが1つだけ含まれています。このタグは、SRCが配置したイメージを表示できません。JSPで画像を表示できません

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
    </head> 
    <body> 
     <form action="Temp.htm" method="post"> 
      <img src="/images/temp.jpg" alt="Not available"> 
     </form> 
    </body> 
</html> 

画像が/WEB-INF/jsp/imagesです。私はまた、画像の場所を変更しようとしたが、SRCに与えられたパスがまだ正しくないことを確実にしている。 フレームワークのないアプリケーションでも同じことが可能です。それは完全にそこで動作します。私はここで何が欠けていますか?

+2

あなたはこの春で行うと休止状態は全く関係がないことを実現することによって開始する必要があります。 –

答えて

10

まず、/WEB-INFには外部からアクセスできません。

第2に、/images/temp.jpgを使用すると、ブラウザはWebアプリケーションのルート(コンテキストパスの配備)からではなく、Webサーバーのルートからイメージを読み込みます。

は、Webアプリのルートからの絶対パスを生成するために、JSTL <c:url>タグを使用します。

<img src="<c:url value='/images/temp.jpg'/>" alt=.../> 
5

/WEB-INF/にあるファイルには、Webから直接アクセスすることはできません。フォルダはWebアクセスから保護されています。

イメージファイルを別の場所に配置します。 /images/temp.jpgは絶対パスですが、おそらく相対パスが必要です。画像のパスをimage/temp.jpgに設定し、Webルートの下に直接ある/images/フォルダに画像を配置します。例えば。 WebContent/imagesまたはsrc/main/webapp/images(ウェブルートによって異なります)。

2

WEB-INFではなくwebappディレクトリに入れてみてください。 Obv。 jsp dirには入れないでください。

関連する問題