Как обслуживать стати c страниц - PullRequest
0 голосов
/ 18 февраля 2020

Мне нужно предоставить stati c index. html страницу из GET-запроса "/" в spring-web.

Мой модуль включен в более крупный, упакован как WAR и развернут на tomcat.

Я пробовал

@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        System.out.println("WebMvcConfigurer - addResourceHandlers() function get loaded...");
        registry.addResourceHandler("/WEB-INF/classes/index.html")
                .addResourceLocations("/WEB-INF/classes/index.html");
    }
}

и поместил индекс. html в папку ресурсов. Все еще 404. Кто-нибудь может помочь мне понять, что я сделал не так?

1 Ответ

0 голосов
/ 18 февраля 2020

Шаблон ResourceHandler должен отражать путь запроса, в вашем случае /index.html

К ресурсам внутри jar / war /WEB-INF/classes/ можно получить доступ через classpath:, в вашем случае classpath:/index.html

Таким образом, ваша конфигурация должна быть такой:

@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {

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

Вы можете упростить, если у вас больше ресурсов с

registry.addResourceHandler("/*.html")
        .addResourceLocations("classpath:/");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...