2012-02-20 48 views
5

No puedo mostrar imágenes en JSP (y no puedo acceder a otras cosas, como Javascript/jQuery externo a través de SRC). La siguiente página JSP solo contiene una etiqueta <img> que no puede mostrar la imagen ubicada por el SRC.No se pueden mostrar imágenes en 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> 

Las imágenes están en /WEB-INF/jsp/images. También he intentado cambiar la ubicación de la imagen y asegurarme de que todas las veces que la ruta dada a SRC es correcta, aún no lo hizo. Lo mismo es posible con las aplicaciones sin el marco. Funciona allí perfectamente. ¿Qué me estoy perdiendo aquí?

+2

Debe empezar por darse cuenta de que esto no tiene absolutamente nada que ver con Spring e Hibernate. –

Respuesta

10

En primer lugar, /WEB-INF no es accesible desde el exterior.

En segundo lugar, si utiliza /images/temp.jpg, el navegador cargará imágenes desde la raíz del servidor web, y no desde la raíz de su aplicación web (que se implementa en una ruta de contexto).

utilizar la etiqueta JSTL <c:url> para generar rutas absolutas de la raíz de la aplicación Web:

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

No puede acceder a los archivos que se encuentran en /WEB-INF/ directamente desde la web. La carpeta está protegida del acceso web.

Localice sus archivos de imagen en otro lugar. /images/temp.jpg es una ruta absoluta, sin embargo es probable que necesite una relativa. Apunte la ruta de su imagen al image/temp.jpg y coloque las imágenes en la carpeta /images/ ubicada directamente debajo de su raíz web. P.ej. WebContent/images o src/main/webapp/images (según su raíz web).

2

Pruebe poner en el directorio de aplicaciones web, no en WEB-INF. Obv. no anidar en el directorio jsp.

Cuestiones relacionadas