Почему не получается подключить css и js к html странице в Spring MVC проекте? Java

194
22 февраля 2019, 23:30

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

failed to load resource: the server responced with a status of 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>

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

Web Config:

@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");
    }
}
Answer 1

для работы в конфиг было необходимо установить:

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

или на html страницах не использовать часть /sources/

READ ALSO
Пример с оператором if из книги

Пример с оператором if из книги

Из книги: Давайте изменим метод dive() в классе Fish, чтобы ограничить сотней метров глубину, на которой может плавать наша рыбка:

207
найти элемент по тексту в теге span

найти элемент по тексту в теге span

Подскажите, как найти элемент по тексту в теге span?

202
Области видимости пакетов внутри java project в Eclipse

Области видимости пакетов внутри java project в Eclipse

Не до конца понимаю, в чем разница между java проектами и пакетами в Eclipse IDEСкажем, есть два проекта: ProjectA и ProjectB

166
Стили в vaadin 8

Стили в vaadin 8

Недавно начал работать c vaadin 8, и все никак не получается менять стилиНапример я пишу свой стиль в файл mytheme

188