当从index.html请求时,Spring @RequestMapping(” / favicon.ico”)不起作用

Spring @RequestMapping(“/favicon.ico”) does not work when requested from index.html

我以前没有找到favicon.ico的映射,所以决定处理它。

对我来说,最简单的方法是在控制器方法@RequestMapping(" / favicon.ico")中添加一个动作。

我不再收到这些投诉(尽管我自己没有在html文件中请求favicon.ico,但我猜浏览器会自动执行此操作)。

当我访问http:// localhost:8080 / favicon.ico时,动作被击中!

我将以下内容添加到我的html文件中:

1
<link href="/favicon.ico" rel="icon" type="image/x-icon" />

但是动作永远不会被击中。

我也尝试过

1
<link href="http://localhost:8080/favicon.ico" rel="icon" type="image/x-icon" />

但是动作没有被击中。

我怀疑这与get / post请求有关,当我手动从浏览器中请求它时,会发出一个get请求。当从html文件中获取其他信息时,Spring将无法识别。

请不要推荐我这样做:

1
<mvc:resources mapping="/favicon.ico" location="/favicon.ico" />

我喜欢从控制器执行

,因为我在那里有一些逻辑。

会涉及一些缓存吗?

编辑:

我还应该提到我一直在获取tomcat网站图标。从未有人要求在favicon.ico上看到任何信息。
是tomcat默认提供它,而忽略将其击中/转发给我的动作吗?


我遇到了同样的问题。

启动弹簧启动时,您可以在控制台中看到以下内容:

1
[...] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]

您可以从application.properties中禁用spring mvc favicon处理程序:

1
spring.mvc.favicon.enabled=false

来源:Spring Boot:覆盖favicon