Spring Boot/認証/スクラッチ/HelloWorld/060_静的ファイルを無視

Spring Boot/認証/スクラッチ/HelloWorld/060_静的ファイルを無視

Prev

Exclude static files access

Spring Boot では static ディレクトリ以下には静的なファイルが格納されている。

こいつを無視してオールOKにしたい。

とりあえず static/css/hoge/index.css を作り

h1{
    font-size: 50rem;
}

画面側ではロードする。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
        <title>hoge</title>
        <meta name="description" content="">
        <link rel="stylesheet" type="text/css" href="/css/hoge/index.css" />
    </head>
    <body>
        <h1>hoge</h1>
        <ul>
            <li><a href="/piyo">piyo</a></li>
            <li><a href="/login/doLogout">logout</a></li>
        </ul> 
    </body>
</html>

ログインして表示してみるもCSSのリクエストに対して500番が返ってきていてCSSが戻ってきてない。 静的ファイルはController のメソッドが無いため handler のキャストで問題がおきているようだ。

なのでそもそも Interceptor の対象外にする。

このように css と js を除外対象にした。

@SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
public class UnkoApplication {
    public static void main(String[] args) {
        SpringApplication.run(UnkoApplication.class, args);
    }
    @Bean
    public MappedInterceptor interceptor() {
        return new MappedInterceptor(
                new String[]{"/**"},
                new String[]{"/css/**", "/js/**"},
                myAuthInterceptor());
    }
    @Bean
    public MyAuthInterceptor myAuthInterceptor() {
        return new MyAuthInterceptor();
    }
}

これで CSS がロードされるようになった。

Next

java/spring/spring_boot/auth/scratch/helloworld/060_ignore_static_file.txt · 最終更新: 2019-06-28 11:03 by ore