Как я могу получить доступ к моим файлам, которые находятся в папке WEB-INF

Я новичок в Java и имею странную проблему. я создаю какую-то папку (theme, js, css) в папке WEB-INF и помещаю свои файлы в эти папки. В index.jsp я использую файл CSS следующим образом:

<style type="text/css"> 
        <%@include file="WEB-INF/css/style.css" %>
 </style>

это работает хорошо. но в файле style.css у меня есть тег div, который устанавливает фон для тега заголовка следующим образом:

#header{
background: url(../theme/violet/header.jpg) repeat-x;
}

ой. моя проблема здесь это не работает так как другие команды CSS работают очень хорошо. Я знаю, что детали WEB-INF недоступны, но, возможно, есть способ, который я использую для ссылки style.css на моей странице index.jsp.

любое решение? Благодарю.

3 ответа

Решение

Исходя из того, как вы включили style.css, я предполагаю, что ваш index.jsp находится вне папки WEB-INF, доступ к которой можно получить непосредственно через браузер клиента. Причина, по которой включенный style.css работает нормально, заключается в том, что он включен на стороне сервера. Но в style.css, чтобы получить фоновое изображение, браузер запустит новое подключение к изображению, которое находится внутри папки WEB-INF, и сервер откажется отправить его обратно, и вы обречены.

Если у вас есть сервлет с централизованным контроллером, вы можете поместить свой jsps в папку WEB-INF, чтобы предотвратить прямой доступ к нему. Ваш сервлет перенаправит весь запрос в соответствующий jsp согласно параметрам запроса.

Насколько я могу судить, нет никакой абсолютной причины помещать изображения, скрипты Java и т. Д. В эту папку, у вас наверняка возникнут проблемы, когда браузеру потребуется доступ к этой папке для получения данных.

Это невозможно. Если вам нужен контент, напрямую доступный из браузера, он не может находиться внутри WEB-INF.

Почему вы создаете theme, js, css в WEB-INF Папка? WEB-INF Каталог содержит метаданные о приложении. Во время обычной работы вам не нужно ничего менять в каталоге WEB-INF.

Вы можете создать theme, js, css папка под war или же WebContent Директория будет легко использовать на ваших страницах JSP.

эта ссылка поможет вам.

Другие вопросы по тегам