Spring mvc,tomcat,显示favicon问题

时间:2014-01-21 20:00:59

标签: spring jsp tomcat spring-mvc favicon

将Favicon放入webapp文件夹。 链接所有jsp:

<link rel="shortcut icon" href="${home}/favicon.ico" />

servlet配置上下文中的资源映射:

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

web.xml中的mime说明:

<mime-mapping>
    <extension>ico</extension>
    <mime-type>image/x-icon</mime-type>
</mime-mapping>

之后我可以通过网址/favicon.ico查看favicon图片,但我仍然会在浏览器标签上看到默认的tomcat图标。怎么了?

2 个答案:

答案 0 :(得分:1)

检查浏览器的网络日志(Firebug,Chrome开发工具等)。您将确切地看到浏览器针对服务器发出的请求以获取favicon。我怀疑这个

<link rel="shortcut icon" href="${home}/favicon.ico" />

不会产生正确的网址。

为了确保自动添加任何潜在的上下文路径,我更喜欢将其与c:urlspring:url JSP标记结合使用,如下所示:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
...
<link rel="shortcut icon" href="<c:url value='/favicon.ico'/>" />

此外,通常不需要<mvc:resources>部分和web.xml中的MIME类型声明。如果您告诉我们WAR文件内容的最终布局(即文件夹结构),这个问题将更容易回答。

哦,如果favicon.ico位于WAR文件的根目录中,您甚至不需要<link>标记,因为默认情况下浏览器会查找http://server/favicon.ico

您是否使用过多个浏览器进行了检查?您是否尝试在浏览器中为页面添加书签(它还应加载图标)?

答案 1 :(得分:1)

尝试

<base href="http://www.yoursitename.com/" />

(对于页面上的所有相对网址)