使用Spring Boot更改网页的favicon图标
最近开始接触Spring Boot,至今为止只有大约3个月的经验,还是一个新手。由于这个领域的日语信息相对较少,所以我打算在英文网站上查找解决方案,并将其作为小贴士发布。
Spring标志的favicon
在使用Spring Boot创建Web API并从浏览器访问时,会自动附带绿叶形状的Spring图标作为favicon。
或许是春天…。(Maybe it’s spring…)

如果不幸Spring Boot存在漏洞,这样一来,就好像在说“嘿,我是Spring Boot,快来挖漏洞啊!”这种情况就会发生。
让我们更换favicon图标
这一次,
-
- Hello world!と返すだけのcontrollerを用意
- そのアドレスを叩いた際に、任意のfaviconが表示されるようにする
做如下事情。 Controller的代码是以下简单的形式。
@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文件放置在任意位置。
根据这个主题,将favicon.ico放置在main/resources下(如果是spring boot 1.2.0之后的版本,则放置在main/resources/static),然后favicon就会被替换掉。
当我立即尝试后,哇,确实有所不同呢!
当访问 http://localhost:8080/favicon.ico 时,确实会返回放置的 favicon。
将spring.mvc.favicon.enabled改为false。
虽然这并不是“替换”,但它可以实现不将叶子标志作为网站图标的目的,特此介绍。
通过在 main/resources/application.yml 文件中添加以下内容,即可确保访问 http://localhost:8080/favicon.ico 时返回 Not found(404)。
spring:
mvc.favicon.enabled: false
但是。。。
不管是在Firefox还是Safari,favicon都正确变化了,但是在Chrome里却没有变化…即使在隐私模式下也还是没变…
我在谷歌上搜索时发现有一些评论说”Chrome的网站图标有些问题”,可能与这个有关。哎呀,我会慢慢看的。
总结
我已经解释了如何在Spring Boot中替换favicon的方法。这个方法简单而且最重要。
在上面提到的Stack Overflow帖子中,提到了有关配置注入的方法等内容。一旦理解,我会考虑用日语进行总结。