2014-01-21 124 views
1

Favicon被放入webapp文件夾。 Link在所有的jsp:Spring mvc,tomcat,顯示favicon問題

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

資源映射在servlet配置方面:

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

和MIME描述web.xml

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

之後,我可以通過URL /favicon.ico查看圖標圖片,但我仍然可以在瀏覽器選項卡上看到默認的tomcat圖標。怎麼了?

回答

1

檢查瀏覽器的網絡日誌(Firebug,Chrome開發工具等)。您會看到瀏覽器發出的針對服務器的請求以獲取圖標。我懷疑這

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

不會產生正確的URL。

爲了確保任何潛在上下文路徑被自動添加我寧願結合所述c: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>片和MIME不需要web.xml中的類型聲明。如果您告訴我們WAR文件內容的最終佈局(即文件夾結構),這個問題會更容易回答。

哦,如果favicon.ico位於WAR文件的根目錄下,那麼您甚至不需要<link>標記,因爲默認情況下瀏覽器會查找http://server/favicon.ico

你用多個瀏覽器檢查過嗎?您是否嘗試在瀏覽器中爲網頁添加書籤(它也應該加載圖標)?

+0

文件夾stucture: [鏈接](http://clip2net.unet.by/clip/m604/1390335758 -clip-7kb.png)。 Chrome網絡日誌不會顯示任何有關favicon的活動。 – kassie

+0

什麼是訪問應用程序的URL? 'http:// server/eshop /'或僅僅是上下文根'/'?另外,您使用Spring WebMVC的JSP嗎? –

+0

訪問網址是「/」。是的,spring-mvc,jsp。 – kassie

1

嘗試

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

(對頁面上所有相對URL)爆炸戰爭

+0

由於這可能會對(其他)相關鏈接產生嚴重的副作用,因此如果將其添加到現有應用程序中,則需要格外小心。 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base –