Нет карт для stati c -ресурсов Spring Boot - PullRequest
1 голос
/ 09 апреля 2020

В моем приложении Spring-Boot файлы js и css не работают, говорится, что 404 не найдено.

Моя html -страница включает в себя следующее:

  <head>  
     <link href="/webjars/bootstrap/css/bootstrap.min.css" rel="stylesheet">
     <link href="/static/css/style.css" rel="stylesheet">
     <script src="/webjars/jquery/jquery.min.js"></script>
     <script src="/webjars/sockjs-client/sockjs.min.js"></script>
     <script src="/webjars/stomp-websocket/stomp.min.js"></script>
     <script src="/static/js/operations.js"></script>
 </head>

Я сконфигурировал ресурсы так:

 @Configuration
 @EnableWebMvc
 public class MvcConfig implements WebMvcConfigurer {
     @Override
     public void addResourceHandlers(ResourceHandlerRegistry registry) {
         registry
               .addResourceHandler("/resources/**")
               .addResourceLocations("/resources/");
        }
  }

Но в логах я получаю:

  o.s.web.servlet.PageNotFound             : No mapping for GET /favicon.ico
  o.s.web.servlet.PageNotFound             : No mapping for GET /favicon.ico
  o.s.web.servlet.PageNotFound             : No mapping for GET /webjars/jquery/jquery.min.js
  o.s.web.servlet.PageNotFound             : No mapping for GET /static/css/style.css
  o.s.web.servlet.PageNotFound             : No mapping for GET /static/js/operations.js
  o.s.web.servlet.PageNotFound             : No mapping for GET /favicon.ico

Это местоположение стати c -источников:

sources

Что я делаю не так?

1 Ответ

1 голос
/ 09 апреля 2020

По умолчанию этот обработчик обслуживает содержимое c из любого из /static, /public, /resources, and /META-INF/resources каталогов, которые находятся в пути к классам. Поскольку по умолчанию src/main/resources обычно находится в пути к классам, мы можем разместить там любой из этих каталогов.

Это означает, что ваши ссылки должны выглядеть следующим образом:

<link href="/css/style.css" rel="stylesheet">

вместо

<link href="/static/css/style.css" rel="stylesheet">
...