2014-04-21 3 views
0

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

<%@ 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, я буду работать – abhi

+0

Мне сказали, что я не могу получить доступ к файлам, если они были в папке WEB-INF, и это была моя первоначальная попытка, т. – TOFFster

ответ

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 после его подачи? – TOFFster

+0

Нет, он не позволит получить доступ к файлу ресурсов, находящимся внутри файла WEB-INF. Вышеупомянутое решение для вашей упомянутой структуры dir в вашем вопросе. – Rahul

+0

О, я вижу, поэтому клиент должен полагать, что файлы, которые были из WEB-INF, находятся в стандартной папке WebContent? Спасибо, я попробую. – TOFFster

0

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

Смежные вопросы