Я не могу настроить весеннюю загрузку Resource Handler для обработки статических ресурсов - PullRequest
0 голосов

У меня есть два проекта.Один был недавно закончен, другой находится в разработке.В проектах на данный момент я использую ту же реализацию WebMvcConfigurer, но проблема в том, что в одном проекте все статические ресурсы загружаются, а в секунде нет.Конфигурация полностью идентична.

Я использую addResourceHandlers (ResourceHandlerRegistry registry) для обработки статических ресурсов.

Моя реализация WebMvcConfigurer:

@Configuration
public class McvConfig implements WebMvcConfigurer {
    @Value("${upload.path}")
    private String uploadPath;

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("index");
    }

    @Bean
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/img/**")
                .addResourceLocations("file:///" + uploadPath + "/");
    }
}

WebMvcConfigurerиз рабочего проекта.Как видите, они полностью совпадают.

Для отображения статического ресурса в настоящий момент я использую <img src="/img/${course.imgName}">

Моя реализация WebSecurityConfigurerAdapter разрешена к использованиюресурсы без входа в аккаунт (.antMatchers("/", "/registration", "/activate/*", "/img/*").permitAll()).

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    private final UserService userService;
    private final PasswordEncoder passwordEncoder;

    public WebSecurityConfig(UserService userService, PasswordEncoder passwordEncoder) {
        this.userService = userService;
        this.passwordEncoder = passwordEncoder;
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                    .antMatchers("/", "/registration", "/activate/*", "/img/*").permitAll()
                    .anyRequest().authenticated()
                .and()
                    .formLogin()
                    .loginPage("/login")
                    .permitAll()
                .and()
                    .rememberMe()
                .and()
                    .logout()
                    .permitAll();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userService)
                .passwordEncoder(passwordEncoder);
    }
}

После запуска приложения на скриншоте видно, что картинки не отображаются.

Полученный исходный код страницы выглядит так: this .

Но при запуске другого приложения статические ресурсы обрабатываются .

Полученная страницаИсходный код выглядит как это .Как видите, используются те же статические ресурсы, что и в предыдущем проекте.

Пожалуйста, объясните, почему это не работает и как это исправить?Два дня мучаюсь и не могу понять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...