我曾经为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是否默认提供它并忽略将其命中/转发给我的操作?
答案 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