
У меня есть проект веб-сайта в Eclipse с использованием сервлетов, запущенных на Tomcat. В одном из сервлетов я ссылаюсь на внешнюю таблицу стилей следующим образом:
<link rel="stylesheet" type="text/css" href="style.css" />
Куда мне поместить этот style.css, чтобы он заработал? Я перепробовал почти все папки в каталоге проекта и в каталоге сайта в Tomcat, но он все равно не работает.
решение1
Я нашел решение. Как сказал silviud, файл style.css должен находиться в корне приложения, в данном случае: $TOMCAT_HOME/wtpwebapps/ProjectName. Чтобы получить его там, он должен находиться в папке WebContent в eclipse: $PROJECT_HOME/WebContent.
Причина, по которой я не видел таблицу стилей, заключалась в том, что у меня был зарегистрирован основной сервлет для «/», а это значит, что когда я запросил /style.css, вместо него был получен сервлет.
решение2
разве это не будет обслуживаться оттуда, откуда вы обслуживаете html-файл?! можете ли вы попробовать изменить ссылку на "/style.css" и посмотреть, где настроен корень для вашего приложения.
например, если ваше приложение находится в $TOMCAT_HOME/webapps/my_application, вам необходимо поместить файл в $TOMCAT_HOME/webapps/my_application/style.css.
посмотрите в $TOMCAT_HOME/webapps/my_application/WEB-INF/web.xml, как настроен сервлет для вашего приложения.
с
ps: мой пример немного плох, потому что Java использует другие «стандарты» для обслуживания статических файлов.