menu
書いてる野郎
orebike@gmail.com
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 がロードされるようになった。