我在第一个springboot项目中没有设置项目名和拦截器以及spring.resources.static-locations,一切都是默认的配置,然后我将favicon.ico放在static目录下后可以正常访问。

但是当我设置上面三个东西后,原来的favicon.ico便不再起作用。

原因一:项目名,springboot默认的访问路径并不包含项目名,所以当设置项目名后会导致找不到favicon.ico,这时我们需要在thymeleaf中配置

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

这会自动加上项目名,就可以正常访问了。

注:在th:href中的地址是不加spring.resources.static-locations(没配置就是默认的classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources)这里面的路径的,上图的路径对应的是我下图的spring.resources.static-locations配置:

spring.web.resources.static-locations=classpath:/static/image/

 favicon.ico的路径是:

 原因二:拦截器拦截

那么我们需要在拦截器中设置不拦截的路径,也就是我们的favicon.ico。

注:导入文件要使用src而不是href否则会失效!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐