Я разрабатываю webapp используя Spring 4.3.4 + Spring MVC + Thymeleaf 3.0.2. Кстати, я еще не интегрировал Spring Security, поэтому нет никакой политики безопасности.Spring MVC 4 + Thymeleaf: static resources 404 error
Проблема проста: статические ресурсы не загружаются в браузере (ошибка 404).
Это моя структура папок проекта, что является стандартной структурой Maven (я положил статические ресурсы на /SRC/основные/ресурсы/статические, но я также пытался /SRC/главная/веб-приложение/ или /SRC/главная/веб-приложение/WEB-INF/):
И это, к примеру, как я связываю CSS на своих страницах (поверьте мне, файл /src/main/resources/static/assets/css/style.css действительно существует):
<link th:href="@{/assets/css/style.css}" type="text/css" />
Насколько я знаю, что не должен нуждаться в ResourceHandler для обработки содержимого на /ЦСИ/Главная/resourcess/статические/активы/, которые уже должны быть доступны на /активы/, но он не работает, так что в моей конфигурации Spring Java Я также сделал также несколько попыток, как:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("classpath:/static/assets/**").addResourceLocations("/assets/");
registry.addResourceHandler("classpath:/static/pages/**").addResourceLocations("/pages/");
}
В любом случае файлы CSS и JS недоступны.
Мой диспетчеру сервлета отображается в корень /:
<servlet-mapping>
<servlet-name>myappDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Если я осмотреть HTML в браузере, я могу видеть, что выше тег становится:
<link href="/myapp/assets/css/style.css" rel="stylesheet" type="text/css">
, который выглядит очень правильно для меня, правильно?
Итак, почему я получаю ошибку 404, если я пытаюсь получить доступ к css? Я забываю что-то важное?
Спасибо,
Лука
Я уже пробовал с и без сопоставлений обработчиков ресурсов, и результат тот же. Кроме того, ваш тег похож на мой, за исключением добавления атрибута _href_, который будет игнорироваться движком thymeleaf во время рендеринга представления (это может повлиять только при открытии шаблона .html статически). – Dolfiz