13
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Spring bootでfaviconを変える

Last updated at Posted at 2015-08-17

Spring bootに初めて触ってまだ3ヶ月程度の素人です。日本語の情報が少ない分野なので、英語サイトを調べて解決した事は小ネタとして投稿していこうかなと思ってる次第であります。

Springマークのfavicon

さて、Spring bootで (*) web apiを作成してbrowserから叩いてみると、緑の葉っぱのspringアイコンがfaviconとして自動的に付いてきます。

(*) Spring一般かもしれませんが…。

image

これって、万が一Spring bootに脆弱性が見つかった場合「さぁ私はSpring bootですから脆弱性突っついてください!」と言わんばかりな状況になってしまう訳です。

faviconを差し替えよう

今回は、

  • Hello world!と返すだけのcontrollerを用意
  • そのアドレスを叩いた際に、任意のfaviconが表示されるようにする

という事をします。Controllerのコードは下記のようなシンプルなものです。

SampleController.java
@Controller
@EnableAutoConfiguration
class SampleController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }

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

}

任意のfavicon.icoを配置する

このスレによると、
main/resources配下にfavicon.icoを配置する (spring boot 1.2.0以降であれば、main/resources/static) とfaviconが置き換わるようです。

早速試してみると、おお、確かに変わりますね!!

そして、http://localhost:8080/favicon.ico へアクセスすると、確かに配置したfaviconが返ってきます。

spring.mvc.favicon.enabledをfalseにする

こちらは「差し替え」ではありませんが、葉っぱマークをfaviconとしない、という目的は達成できるということでご紹介。

main/resources/application.yml に下記を追記することで、http://localhost:8080/favicon.ico を叩いてもNot found(404) になります。

application.yml
spring:
    mvc.favicon.enabled: false

だがしかし、、、

Firefox、Safariはちゃんとfaviconが変わったのにChromeだと変わらない…。シークレットモードでやっても変わらず…。

ググると「Chromeのfaviconがおかしくなった」というコメントがいくつか出てくるのでそれ関連かなぁ…。まぁ、追々見てみます。

まとめ

Spring bootでfaviconを置き換える方法をご説明しました。簡単で何よりです。

上記で触れましたstack overflowのこのスレでは、Configurationをinjectionする方法などが触れられています。分かり次第、日本語でまとめてみようかなぁと思ってますー。

13
14
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?