Не отображается изображение в JSP

261
05 декабря 2017, 19:32

В Java давно, а в Java EE совсем недавно. Разбираюсь в азах, так сказать.

Возникла проблема со вставкой изображения в .jsp. Перебрал все возможные абсолютные и относительные пути. Убил три дня на решение и всё впустую. В html всё работает, в jsp - ни в какую.

Дерево каталогов выглядит вот так:

Код index.jsp:

   <%@ page language="java" contentType="text/html; charset=UTF-8"
         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>Attempt</title>
</head>
<body>
<h1>HELLO</h1>
<div>
    <img src="/WEB-INF/pages/images/404.jpg" alt="Dafuq!" >
    <p><img src="images/404.jpg" alt="Here should be image!"/></p>
    <p><img src="images/up_background.png" alt="Here should be image!"/></p>
</div>
</body>
</html>
Answer 1

Вынесите папочку webapp на уровень src, lib, .idea. Затем вытащите все из папки WEB-INF, кроме web.xml, чтобы папки WEB-INF, pages и spring находились на одном уровне. теперь прописываем путь относительно index.jsp

<img src="images/404.jpg" alt="Dafuq!" >
Answer 2

Используя spring mvc можно в конфигурации использовать тег mvc:resources и с его помощью задать адрес для ресурсов.

<mvc:resources mapping="/resources/**" location="/resources/theme1/"/>

тогда на странице jsp вы можете обращаться по адресу /resources/ и дальше по структуре директорий:

<link href="<c:url value="/resources/css/main.css" />" rel="stylesheet">
<script src="<c:url value="/resources/js/jquery.1.10.2.min.js" />"></script>
<script src="<c:url value="/resources/js/main.js" />"></script>

либо использовать spring:url

<spring:url value="/resources/css/main.css" var="mainCss" />
<spring:url value="/resources/js/jquery.1.10.2.min.js" var="jqueryJs" />
<spring:url value="/resources/js/main.js" var="mainJs" />
<link href="${mainCss}" rel="stylesheet" />
<script src="${jqueryJs}"></script>
<script src="${mainJs}"></script>

Источник и пример

READ ALSO
Overflow scroll в блоке с positin absolute

Overflow scroll в блоке с positin absolute

Есть абсолютно спозиционированная менюшкаМенюшка имеет определенные размеры => если много текста, то должен появиться у нее скрол, но если...

388
css отступы на примерах

css отступы на примерах

Есть несколько вопросов по отступам на конкретных примерах:

637
retina macbook автоматически увеличивает масштаб страницы и отображает планшетную версию вместо десктопной

retina macbook автоматически увеличивает масштаб страницы и отображает планшетную версию вместо десктопной

retina macbook автоматически увеличивает масштаб страницы и отображает планшетную версию сайта с шириной контейнера 940px вместо того чтобы отображать...

238
Как указать относительный путь к файлу, который лежит на уровень ниже?

Как указать относительный путь к файлу, который лежит на уровень ниже?

Как указать относительный путь к файлу, который лежит на 1-2 уровня ниже?

328