Почему css, js не подключаются к html в проекте Spring MVC? - PullRequest
0 голосов
/ 17 октября 2018

Почему стили и js не связаны со страницей?При отображении страницы я получаю сообщение об ошибке в этих файлах.

Не удалось загрузить ресурс: сервер ответил со статусом 404

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/sources/css/styles.css">

</head>
<body >
<h1>Hey there</h1>
<a href="/departments">click here</a>

<script src="/sources/scripts/initial_service.js"></script>
</body>
</html>

T Структура проекта:

Веб-конфигурация:

@EnableWebMvc
@Configuration
@ComponentScan(basePackages = {"controller"})
public class WebConfig  extends WebMvcConfigurerAdapter {

    @Bean
    public ViewResolver internalResourceViewResolver() {
        InternalResourceViewResolver bean = new InternalResourceViewResolver();
        bean.setViewClass(JstlView.class);
        bean.setPrefix("/WEB-INF/");
        bean.setSuffix(".html");
        return bean;
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/css/**").addResourceLocations("/sources/css/");
        registry.addResourceHandler("/image/**").addResourceLocations("/sources/image/");
        registry.addResourceHandler("/scripts/**").addResourceLocations("/sources/scripts/");
        registry.addResourceHandler("/*.html").addResourceLocations("/WEB-INF/");
    }

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("forward:/main.html");
    }
}

Что может быть не так?

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Я думаю, что этот уменьшит ваш код

@Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/source/**")
        .addResourceLocations("/source/");
    }
0 голосов
/ 17 октября 2018

вы добавляете обработчики ресурсов, но не используете их.удалите /sources из путей, куда вы загружаете свои ресурсы.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/css/styles.css">

</head>
<body >
<h1>Hey there</h1>
<a href="/departments">click here</a>

<script src="/scripts/initial_service.js"></script>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...