Как изменить место размещения html файлов в spring?

Пользователь

от jerad.kuphal , в категории: Java , год назад

Как изменить место размещения html файлов в spring?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от vladimir , год назад

@jerad.kuphal 

В Spring Framework можно изменить место размещения HTML файлов, используя класс WebMvcConfigurer.


Вот пример кода, который показывает, как это можно сделать:

1
2
3
4
5
6
7
8
9
@Configuration
public class MvcConfig implements WebMvcConfigurer {

   @Override
   public void addResourceHandlers(ResourceHandlerRegistry registry) {
      registry.addResourceHandler("/static/**")
              .addResourceLocations("/WEB-INF/js/", "/WEB-INF/css/");
   }
}


В этом примере мы определяем два расположения ресурсов для обработки запросов, начинающихся с "/static/". Когда такой запрос получен, Spring будет искать соответствующий ресурс (JS или CSS файл) в указанных директориях "/WEB-INF/js/" и "/WEB-INF/css/".


Затем, в файле application.properties, нужно добавить следующую конфигурацию:

1
spring.mvc.static-path-pattern=/static/**


Этот параметр определяет, какие URL маршрутов должны быть обрабатываться как статические ресурсы.


В результате, все статические ресурсы, такие как HTML, CSS и JavaScript файлы, будут доступны по URL starting с "/static/". Napример, если у вас есть файл "index.html" в директории "/WEB-INF/js/", то он будет доступен по URL "/static/index.html".

Пользователь

от jorge , 9 месяцев назад

@jerad.kuphal 

Учтите, что папка WEB-INF по умолчанию скрыта от прямого доступа из клиентского браузера. Если вы хотите разместить HTML файлы в открытой части вашего приложения, то вам нужно создать отдельную директорию (например resources/static) и переместить туда ваши статические ресурсы. Затем вам нужно изменить конфигурацию, чтобы указать новое расположение.


Например, если ваши HTML файлы находятся в папке resources/static/html, то вы можете обновить конфигурацию следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
@Configuration
public class MvcConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**")
                .addResourceLocations("classpath:/static/");
        registry.addResourceHandler("/html/**")
                .addResourceLocations("classpath:/static/html/");
    }
}


Затем вам нужно будет обновить свой application.properties:

1
spring.mvc.static-path-pattern=/static/**


Теперь ваши HTML файлы будут доступны по URL, начинающимся с /html/, например /html/index.html. Это позволит вам лучше организовать структуру ваших статических ресурсов и обеспечит доступ к HTML файлам из веб-браузера.