Доступ к ресурсам из JSP внутри WEB-INF

0

У меня возникли проблемы с доступом к некоторым изображениям и css файлу из моего JSP, хранящегося в WEB-INF. Мой сервлет вызывает JSP и все загружается нормально, но страница не может найти изображения и файл css. Я очень новичок в таких вещах и буду благодарен за помощь. Я знаю, что в прошлом были некоторые вопросы по этому вопросу, и я пробовал предложения, предлагаемые теми, но я не могу показаться, что об этом не думаю. Здесь содержимое JSP (я попробовал кучу разных методов):

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Title</title>
<link rel="stylesheet" type="text/css" href="resources/grid.css">   
</head>
<body>  
<!-- Main container -->
<div class="container_12"></div>

<!-- Foreground container -->
<div class="grid_10 prefix_1 suffix_1">

    <img src = "/resources/images/Foreground.png">

</div>

<!-- Header container -->
<div class = "grid 8 prefix_2 suffix_2">

    <img src = "${pagecontext.request.contextPath}/resources/images/Header.png">
    <p>Test</p>

</div>

<div class = "clear"></div>

<!-- Navigation bar container -->
<div class = "grid 8 prefix_2 suffix_2">

    <img src = "${pagecontext.request.contextPath}/resources/images/Navbar.png">

</div>

 </body>
 </html>

И вот моя структура каталогов:

http://gyazo.com/0a7aea0a44e51e1789c263767e14a40b

  • 0
    пожалуйста, добавьте эту папку ресурсов в папку WEB-INF, я буду работать
  • 0
    Мне сказали, что я не могу получить доступ к файлам, если они находятся в папке WEB-INF, и это была моя первоначальная попытка, которая тоже не сработала.
Теги:
jsp
servlets

2 ответа

0
Лучший ответ

Вы можете использовать ниже, чтобы найти реальный путь изображения.

<!-- Header container -->
<div class = "grid 8 prefix_2 suffix_2">

    <img src = "<%= application.getRealPath("/resources/images/Header.png") %>">
    <p>Test</p>

</div>
  • 0
    Так позволит ли мне получить доступ к файлам, когда они находятся в папке WEB-INF? Ссылка на каталог, который у вас есть, указывает на текущий каталог, а затем на ресурсы, верно? Это означает, что ресурсы должны быть внутри WEB-INF? Или клиент не знает, что JSP-файл содержится в папке WEB-INF после его доставки?
  • 0
    Нет, это не позволит получить доступ к файлу ресурса, который находится внутри файла WEB-INF. Вышеупомянутое решение для вашей упомянутой структуры dir в вашем вопросе.
Показать ещё 1 комментарий
0

Поместите все файлы или css-изображения вне папки WEB-INF. Хорошая практика заключается в том, что в WEB-INF вы ставите только классы и web.xml.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню