У меня возникли проблемы с доступом к некоторым изображениям и 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>
И вот моя структура каталогов:
Вы можете использовать ниже, чтобы найти реальный путь изображения.
<!-- Header container -->
<div class = "grid 8 prefix_2 suffix_2">
<img src = "<%= application.getRealPath("/resources/images/Header.png") %>">
<p>Test</p>
</div>
Поместите все файлы или css-изображения вне папки WEB-INF. Хорошая практика заключается в том, что в WEB-INF вы ставите только классы и web.xml.