404 для статического изображения при весенней загрузке - PullRequest
2 голосов
/ 03 июля 2019

В файле html есть изображение:

        <div class="login-branding">
        <a href="index.html"><img src="../static/images/logo.png" alt="Clevex" title="Clevex"></a>
    </div>

По адресу http://localhost:8090/login, Я смотрю на консоль и вижу:

ПОЛУЧИТЬ http://localhost:8090/static/images/logo.png 404

Но когда приложение работает, если я перейду к

http://localhost:8090/images/logo.png

этот URL, я могу увидеть изображениебез каких-либо ошибок или предупреждений на консоли браузера chrome.

Это моя конфигурация безопасности:

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private CustomAuthenticationProvider customAuthenticationProvider;

    @Override
    protected void configure(HttpSecurity http) throws Exception {

 http.cors().and().csrf().disable();

        String[] resources = new String[]{
                "/",
                "/home",
                "/pictureCheckCode",
                "/include/**",
                "/css/**",
                "/icons/**",
                "/images/**",
                "/js/**",
                "/resources/**",
                "/layer/**",
                "/static/**",
                "/js/**",
                "/img/**",
                "/webjars/**"
        };

   http
                .authorizeRequests()

                .antMatchers(resources).permitAll()

Я также добавил @EnableAutoConfiguration, но он ничего не сделал.И также выдал ошибку.

Я не хочу использовать addResourceHandlers, потому что это весенняя загрузка и она должна выполнить автоконфигурирование.

Каталоги выглядят так:

src
-main
-resources
--static
---images
----logo.png

Вот как начинается приложение:

@SpringBootApplication
public class InternalApplication {

    public static void main(String[] args) {
        SpringApplication.run(InternalApplication.class, args);
    }

}

Любой совет будет оценен.

Ответы [ 2 ]

1 голос
/ 03 июля 2019

Все, что находится в каталоге static, хранится в корне вашего веб-приложения.Таким образом, /static/images/logo.png обслуживается Spring Boot на /images/logo.png.

. Замените:

src="../static/images/logo.png"

на:

src="/images/logo.png"
0 голосов
/ 03 июля 2019

Это сработало:

https://stackoverflow.com/a/56196207/11369236

Я изменил

<a href="index.html"><img src="../static/images/logo.png" alt="Clevex" title="Clevex"></a>

на

            <a href="index.html"><img src="/images/logo.png" alt="Clevex" title="Clevex"></a>

Я был сбит с толку из-за Intellij Idea.

В коде HTML, если я нажимаю ../static/images/logo.png, он может перейти к изображению.

Но когда я нажимаю /images/logo.png в коде HTML, он не идет,также sonar выдает предупреждение за это.

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