Веб-приложение Sprinboot не загружает веб-файлы и CSS - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть веб-приложение Maven с Springboot и JSP.Я пытаюсь импортировать webjars для использования начальной загрузки на моем jsp, я добавляю зависимости на моем pom (включая локатор) и помещаю обработчик ресурсов в свой webconfig:

<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.7-1</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>webjars-locator</artifactId>
<version>0.30</version>
</dependency>

Теперь я добавляю ссылки намой webconfig:

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry
      .addResourceHandler("/webjars/**")
      .addResourceLocations("/webjars/");
 }
}

И затем я пытаюсь импортировать jar-файлы в мой jsp:

<script src="/webjars/jquery/3.1.1/jquery.min.js"></script>

Но не работает .. Я помещаю css в папку webapp, но не могу связатьэто внутри моего JSP ..

Как я могу решить это ??В чем дело??Спасибо всем

Ps: у меня есть jsp в web-inf / jsp / pages, и я добавил контекстный путь к application.properties (но я думаю, что есть некоторый конфликт с классом WebConfig)

Ответы [ 3 ]

0 голосов
/ 23 ноября 2018

Добавьте следующий класс.

@Configuration
@EnableWebSecurity//(debug=true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().requestMatchers(CorsUtils::isPreFlightRequest)
        .antMatchers("/webjars/**");
    }

}
0 голосов
/ 07 февраля 2019

добавьте resourceChain и установите его в false следующим образом:

 registry.addResourceHandler("/webjars/**").addResourceLocations("/webjars/").resourceChain(false);

Это, очевидно, не проблема webjar-locator. Для настройки webjar-locator необходим метод resourceChain()..

для получения более подробной информации см. ссылка

0 голосов
/ 23 ноября 2018

Используя @EnableWebMvc, вы указали Spring Boot, что хотите получить полный контроль над настройкой Spring MVC.Это означает, что вся его автоматическая настройка статических ресурсов, поддержка веб-банок и т. Д. Отключена.

Вы можете полностью удалить свой класс WebConfig, поскольку он дублирует конфигурацию, которую Spring Boot сделает для вас.автоматически.Если вам нужно настроить конфигурацию по умолчанию, вы должны реализовать WebMvcConfigurer, как вы это сделали, но опустить аннотацию @EnableWebMvc.

...