Не удается найти файлы .js (или .css) со страницы .jsp - PullRequest
1 голос
/ 27 марта 2012

Я использую сервер приложений Tomcat 5.54 из Eclipse Indigo под Windows 7 Ultimate. Мой сервлет использует .jsp, а страница .jsp содержит (среди прочего) следующее, чтобы «включить» некоторый JavaScript в .jsp:

Когда сервлет запускается, отображается страница .jsp, но я получаю 404 ошибки типа «Запрошенный ресурс (/MyServer/WebContent/WEB-INF/JSP/Scripts/Modernizr-2.5.3.js) недоступен». на всех файлах .js и .css, которые включены в страницу .jsp.

Соответствующие местоположения файлов: ./WEB-INF/JSP .jsp файл ./WEB-INF/JSP/Скрипты файла .js ./WEB-INF/JSP/CSS .css файлы

В частности, Modernizr-2.5.3.js находится (под управлением Eclipse) в. \ Projects \ MyServer \ WebContent \ WEB-INF \ JSP \ Scripts \ Modernizr-2.5.3.js. Я понимаю, что путь к «включенному» контенту, такому как .js, .css, изображениям и т. Д., Относится к расположению отправленного URL, а не к отображаемому .jsp, и, насколько я понимаю, лучший способ справиться с этим это использовать полный путь в URL-адресе src =, что я и делаю. Однако я получаю 404 ошибки. Я попытался поместить Modernizr-2.5.3.js (в качестве тестового примера) «повсюду», и мне никогда не удавалось устранить ошибки 404. (Я понимаю, что могу извлечь этот конкретный скрипт из Интернета, но это не решает проблему, с которой я столкнулся.)

Есть ли у меня ошибка в URL src =? Если нет, то что еще может вызвать эти 404 ошибки?

Спасибо за помощь.

Ответы [ 2 ]

2 голосов
/ 27 марта 2012

WEB-INF недоступен публично.Обычно он используется для хранения JSP, а также файлов и дескрипторов библиотеки.Если вы хотите сослаться на ваши ресурсы javascript и css без необходимости проходить через какой-то диспетчер, который загружает их из пути к классам (то есть вы хотите ссылаться на них как обычный веб-ресурс), они должны находиться в каком-то другом каталоге за пределами WEB-INF.

Итак, я бы предложил создать Projects/MyServer/WebContent/js и Projects/MyServer/WebContent/css и поместить ваши js и css в соответствующую папку.Тогда атрибут src может указывать на /js/Modernizr-2.5.3.js и /css/mycss.css

1 голос
/ 27 марта 2012

WEB-INF предназначен для классов и файлов свойств, его не следует использовать для JSP и других ресурсов linkabale.Вы должны переместить ваши файлы в корень вашего веб-приложения или в другой каталог под ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...