как подключить css к файлам JSP, хранящимся в папке WEB-INF? В WebSphere/ССП

Я использую ibm websphere и создаю динамический веб-проект. Все мои JSP файлы находятся в моей папке WEB-INF, и я использую сопоставление сервлетов в моем чтобы сделать их доступными. До сих пор это работало нормально. однако у меня проблема с моим CSS. как всегда, мой CSS файл находится в WebContent в папке с именем css. вот моя ссылка для моего jsp

<link rel="stylesheet" href = "css/styles.css">

мне не повезло получить мой css, чтобы показать...
что я упускаю?

2 ответов


относительные URL-адреса в сгенерированном выводе HTML интерпретируются браузером относительно URL-адреса запроса (как вы видите в адресной строке браузера), а не их физического местоположения в дисковой файловой системе сервера. Это именно веб-браузер, который должен загрузить их по HTTP-запросу, это не веб-сервер, который должен каким-то образом включить их с диска.

один из способов-использовать относительный путь к домену для этих ресурсов, т. е. начать с /. Вы можете использовать ${pageContext.request.contextPath} чтобы динамически встроить контекстный путь текущего webapp.

<link rel="stylesheet" href="${pageContext.request.contextPath}/css/styles.css">

это будет в конечном итоге в сгенерированном выводе HTML следующим образом:

<link rel="stylesheet" href="/yourContextPath/css/styles.css">

таким образом браузер сможет загрузить их правильно.

Читайте также:


Я думаю, вам нужно увидеть его с точки зрения браузера, как это URL-адрес страницы, путь контекста и текущий путь.

Если ваш путь контекста приложения, например, "myApp", то вы можете сделать что-то вроде этого, чтобы заставить его работать:

<link rel="stylesheet" href = "/myApp/css/styles.css">

Если вы хотите сделать его относительным, чтобы он не зависел от пути контекста, то если Ваш url выглядит как http://localhost:8080/myApp/myservlet/file.jsp

тогда ваша ссылка будет будь

<link rel="stylesheet" href = "../css/styles.css">

Firebug или консоль chrome могут быть действительно полезны, чтобы понять, что браузер пытается получить.

надеюсь, что это помогает!