怎么在Spring Boot 项目中设置网站图标?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
我们一直强调网站设计、网站建设对于企业的重要性,如果您也觉得重要,那么就需要我们慎重对待,选择一个安全靠谱的网站建设公司,企业网站我们建议是要么不做,要么就做好,让网站能真正成为企业发展过程中的有力推手。专业网站制作公司不一定是大公司,创新互联建站作为专业的网络公司选择我们就是放心。
正常情况下,每个网站都会有一个对应的网站图标(Favicon),在浏览器访问网站时,对应的浏览器标签上会出现对应的图标
对此Spring Boot项目也提供了支持,但不同版本有所区别,在最新版本中的使用,网络上大多数文章已经失效,本篇文章带大家看一下Spring Boot 2.x版本中的使用情况。
Spring Boot不同版本对Favicon的支持
在早些版本中Spring Boot对Favicon进行了默认支持,并且通过如下配置进行关闭操作:
spring.mvc.favicon.enabled=false ## 关闭
默认显示效果如下:
但在Spring Boot项目的issues中提出,如果提供默认的Favicon可能会导致网站信息泄露。如果用户不进行自定义的Favicon的设置,而Spring Boot项目会提供默认的上图图标,那么势必会导致泄露网站的开发框架。
因此,在Spring Boot2.2.x中,将默认的favicon.ico移除,同时也不再提供上述application.properties中的属性配置。更多详细信息可查看对应的issues:https://github.com/spring-projects/spring-boot/issues/17925 。
自定义Favicon
既然在当前版本中Spring Boot不支持默认的Favicon,我们就来看看如何自定义网站的Favicon。
正常情况下,直接将命名为favicon.ico的网站图标放在resources或static目录即可显示,但如果使用的版本无法显示。
首先排除浏览器缓存的问题。在撰写本文时多次遇到浏览器缓存导致无法展示的情况。一般操作步骤,清除浏览器缓存,重启浏览器,即可展示。
同时,如果需要在页面中通过代码进行引入。下面展示使用Thymeleaf时的引入方式:
Hello Favicon Hello Favicon!
如果使用其他前端框架,可使用如下方式:
Hello Favicon Hello Favicon!
上述方式有一个弊端,那就是需要在每个展示的页面中都添加对应的代码。
注意事项
在使用的过程中,遇到最多的问题其实就是缓存导致的问题,比如Thymeleaf缓存未关闭、浏览器缓存等。
所以,如果在浏览器中打开网页并没有展示出效果,并不代表程序没起效。这时,可采用直接访问favicoin的形式来验证。
http://localhost:8080/favicon.ico
在浏览器访问上述链接,如果能够展示图标,则说明已经可以正常访问了。
另外,在web项目中,如果自定义了Web相关组件或拦截器也有可能导致无法显示或404,可对其进行有针对性的排查。
关于怎么在Spring Boot 项目中设置网站图标问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。