spring boot设置网站图标,Favicon

spring boot设置网站图标,Favicon

Spring Boot2.2.x以前对Favicon默认支持

在早些版本中Spring Boot对Favicon进行了默认支持,并且通过如下配置进行关闭操作:

spring.mvc.favicon.enabled=false ## 关闭

然后在resources目录下加入你的ico图片,并命名为favicon.ico,就可以被识别到

但在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

需要在页面中通过代码进行引入。下面展示使用Thymeleaf时的引入方式:

<link rel="icon" th:href="@{/favicon.ico}" type="image/x-icon"/> 

上述方式有一个弊端,那就是需要在每个展示的页面中都添加对应的代码

注意

在使用的过程中,遇到最多的问题其实就是缓存导致的问题,比如Thymeleaf缓存未关闭、浏览器缓存等。

所以,如果在浏览器中打开网页并没有展示出效果,并不代表程序没起效。这时,可采用直接访问favicoin的形式来验证

http://localhost:8080/favicon.ico

在浏览器访问上述链接,如果能够展示图标,则说明已经可以正常访问了

参考:https://developer.aliyun.com/article/846953

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 3中设置favicon网站的小图标)不生效可能是由于几个常见的原因。Favicon通常放置在`/static/favicon.ico`或`/resources/static/favicon.ico`这样的路径下,并且需要被浏览器的缓存策略正确识别。以下是可能的解决步骤: 1. **检查文件位置**:确保`favicon.ico`文件位于项目正确的静态资源目录下,并且权限正确。 2. **配置`spring.mvc.static-path-pattern`**:在`application.properties`或`application.yml`中,添加以下配置: ```yaml spring.mvc.static-path-pattern=/public/**, /swagger-ui/**, /favicon.ico ``` 这将使Spring Boot处理这些特定路径的静态资源请求。 3. **清除缓存**:尝试清除浏览器的缓存,或者让浏览器使用不同的用户代理访问,有时候缓存可能会阻止新favicon的显示。 4. **重启应用**:有时重启Spring Boot应用可以解决一些临时的问题。 5. **检查是否覆盖默认配置**:确认没有其他代码或插件无意中覆盖了 favicon设置。 如果以上步骤都尝试过还是无效,你可以尝试在`WebMvcConfigurer`接口中自定义处理方法,例如: ```java @Configuration public class FaviconConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/favicon.ico") .addResourceLocations("classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/"); } } ``` 这会确保`favicon.ico`总是被映射到正确的URL上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值