Я обновляю проект с Spring 4 до Spring 5, но загрузка статических ресурсов не работает.
У меня есть ресурсы в
src/main/resources/static/js
,
src/main/resources/static/css
и
src/main/resources/static/images
Я добавляю ResourceHandler в WebConfig следующим образом
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = {"com.job.controllers"})
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**")
.addResourceLocations("classpath:/static/");
}
// more code here
}
Моя конфигурация безопасности, разрешающая доступ к статическим ресурсам, выглядит следующим образом
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/login**", "/static/**").permitAll()
}
}
Когда я получаю доступ http://localhost:8080/static/css/file.css
Я получаю ошибку 405 Request method 'GET' not supported
Кажется, проблема не в настройке безопасности, поскольку она не перенаправляет меня на страницу входа. Если я пытаюсь использовать общедоступный URL-адрес, например http://localhost:8080/some-place/css/file.css
, я перенаправляюсь на страницу входа.
Кажется, проблема в ResourceHandler.
Мои зависимости:
spring-framework - 5.0.2.RELEASE and spring-security-5.0.0.RELEASE
Ни один из ответов на другие вопросы не работает для меня.
другой вопрос-
Спасибо