Мне было очень трудно заставить мое приложение Spring 3.0 распознавать файлы типа favicon.ico
как ресурс. Я определил свой каталог ресурсов в файле spring-context.xml
следующим образом:
<mvc:resources mapping="/ui/**" location="/ui/" />
Эта структура каталогов выглядит так:
/ui
/images
/styles
/scripts
...
Spring отлично хранит мои изображения, скрипты и стили. Тем не менее, я получаю ошибку 404 при попытке получить любые файлы *.ico
в каталоге изображений. Все изображения PNG, GIF и JPG прекрасно работают в этом же каталоге. Я попытался уточнить, в каких каталогах размещать и даже указывать файлы .ico
в качестве ресурсов в файле context.xml
и получать одинаковые результаты:
<mvc:resources mapping="/ui/images/*.ico" location="/ui/images" />
Я также попытался добавить отображение сервлета в сервлет по умолчанию. Кажется, это сработало для некоторых, когда я исследовал его в Интернете, но не доказал свою эффективность.
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.ico</url-pattern>
</servlet-mapping>
EDIT: я также добавил файл favicon.ico в корневой путь веб-приложения. Если я использую png файл для значка, он работает в каждом браузере, но в IE. Я хотел бы решить эту проблему для всех браузеров, если это возможно. Любая помощь на этом этапе будет принята с благодарностью.
EDIT2: у меня уже есть тег ссылки в документе XHTML:
<link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/ui/images/favicon.ico" />