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

时间:2015-09-21 15:48:44

标签: spring spring-mvc favicon request-mapping

我曾经为favicon.ico找不到映射,所以决定处理它。

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

我不再接受这些投诉(虽然我没有在html文件中请求favicon.ico,我猜浏览器会自动执行此操作)。

当我访问http://localhost:8080/favicon.ico时,操作会被点击!

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

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

但是行动永远不会受到打击。

我也试过

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

但行动不会受到影响。

我怀疑这与get / post请求有关,当我手动从浏览器请求时,会发出get请求。当从一个html文件中得到别的东西时,Spring并没有意识到这一点。

请不要建议我这样做:

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

因为我喜欢从我的控制器那里做,因为我有一些逻辑。

是否涉及一些缓存?

编辑:

我还应该提一下,我不断获得一个tomcat的图标。无法看到有关favicon.ico的任何信息。 tomcat是否默认提供它并忽略将其命中/转发给我的操作?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。

春季启动时,您可以在控制台中看到:

[...] 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处理程序:

spring.mvc.favicon.enabled=false

来源:Spring Boot: Overriding favicon