Spring Boot: Spring WebFlux, статический контент, шаблонизаторы

Статический контент

По умолчанию Spring Boot предоставляет статический контент из каталога /static (или /public или /resources или /META-INF/resources) в classpath. Он использует ResourceWebHandler из Spring WebFlux, чтобы вы могли изменить это поведение, добавив свой собственный WebFluxConfigurer и переопределив метод addResourceHandlers.

По умолчанию ресурсы отображаются в /**, но вы можете настроить это, установив свойство spring.webflux.static-path-pattern. Например, перемещение всех ресурсов в /resources/** может быть достигнуто следующим образом:

spring.webflux.static-path-pattern=/resources/**

Вы также можете настроить расположение статических ресурсов, используя spring.resources.static-location. При этом значения по умолчанию заменяются списком расположений каталогов. Если вы это сделаете, обнаружение страницы приветствия по умолчанию переключится на ваши пользовательские местоположения. Итак, если при запуске есть index.html в любом из ваших мест, это домашняя страница приложения.

В дополнение к «стандартным» местоположениям статических ресурсов, перечисленным ранее, для контента Webjars сделан особый случай. Любые ресурсы с путем в /webjars/** обслуживаются из файлов jar, если они упакованы в формате Webjars.

Приложения Spring WebFlux не зависят строго от API сервлета, поэтому они не могут быть развернуты как файлы war и не используют каталог src/main/webapp.

Шаблонизаторы

Помимо REST веб-служб, вы также можете использовать Spring WebFlux для обслуживания динамического HTML-контента. Spring WebFlux поддерживает множество шаблонных технологий, включая Thymeleaf, FreeMarker и Mustache.

Spring Boot включает поддержку автоматической настройки для следующих шаблонизаторов:

  • FreeMarker
  • Thymeleaf
  • Mustache

Когда вы используете один из этих шаблонизаторов с конфигурацией по умолчанию, ваши шаблоны автоматически выбираются из src/main/resources/templates.


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


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки