gpt4 book ai didi

java - favicon.ico 不在 spring mvc 中显示

转载 作者:搜寻专家 更新时间:2023-11-01 02:43:12 27 4
gpt4 key购买 nike

我正在尝试使用 spring mvc 4 和 apache tomcat 7(在 firefox 中)添加一个 favicon.ico。我检查了许多解决方案,但似乎没有一个有效。

web.xml:

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

mvc-核心配置.xml:

<mvc:default-servlet-handler/>
<!-- <mvc:resources mapping="/resources/**" location="/resources/css" /> -->
<mvc:resources location="/favicon.ico" mapping="/favicon.ico" />

jsp:

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

(我也尝试过不使用 MYPROJECT 和其他变体...)。

我将 favicon.ico 文件放在 webapps 下(也尝试在其他文件夹中)。

加载页面时,没有显示图标。

注意:我尝试直接加载图标 http://localhost:8080/MYPROJECT/favicon.ico 但收到以下错误消息:the图片“http://localhost:8080/MYPROJECT/favicon.ico”无法显示,因为它包含错误。我下载了其他 favicon.ico,但图标看起来已损坏。

在 firefox 中检查元素时,我不会调用 favicon.ico。

有什么建议吗?

更新:在我的 eclipse 控制台中,我看到:

Looking up handler method for path / 15:48:05.622 [http-bio-8080-exec-6] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping - Did not find handler method for [/] 15:48:05.622 [http-bio-8080-exec-6] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping - Looking up handler method for path / 15:48:05.623 [http-bio-8080-exec-6] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping - Did not find handler method for [/] 15:48:05.623 [http-bio-8080-exec-6] DEBUG o.s.w.s.h.SimpleUrlHandlerMapping - Mapping [/] to HandlerExecutionChain with handler [org.springframework.web.servlet.mvc.ParameterizableViewController@380baa3a] and 1 interceptor

更新2mvc 配置 xml:

<import resource="mvc-view-config.xml"/>
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"/>
<mvc:annotation-driven conversion-service="conversionService"/>
<context:component-scan base-package="controllers,logic.preprocess"/>
<mvc:view-controller path="/" view-name="index" />
<mvc:default-servlet-handler/>

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

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"
p:basename="messages/messages"/>

</beans>

包含的 mvc-view-config.xml:

<bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="viewResolvers">
<list>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
<property name="contentType" value="text/html;charset=UTF-8"></property>
</bean>


<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
<property name="order" value="1"/> </bean>

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
<property name="order" value="2" /> </bean>

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="order" value="3" />
<property name="alwaysUseFullPath" value="true" />
<property name="mappings">
<props>
<prop key="controllers/TaskController">taskController</prop>
<prop key="controllers/ResultController">resultController</prop>
</props>
</property>
</bean>

更新 3我将文件放在资源/图像下,它似乎只能在 chrome 上部分(没有快捷方式)工作,但不能在 firefox 上工作。

谢谢,迈克

最佳答案

在 FireFox 和 Chrome 中测试:我遇到了同样的问题。这是解决方法。我做了什么this answer suggested :

web.xml:

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

mvc-dispatcher-servlet.xml:

<mvc:resources mapping="/resources/**" location="/resources/mytheme/" />

(在我的例子中不需要 <mvc:default-servlet-handler />)

genericpage.tag(我使用模板,但这可以是您的 jsp 文件):

<link rel="shortcut icon" href='<c:url value="/resources/images/favicon.ico" />' type="image/x-icon">
<link rel="icon" href='<c:url value="/resources/images/favicon.ico" />' type="image/x-icon">

注意:请注意,您必须使用 <c:rul value=位在 href 中,否则它将不起作用。

项目结构:

Web pages
+--META-INF
+--WEB-INF
+--resources
+--mytheme
+--css
+--images
+--favicon.ico

出于某种原因,它在/resources/mytheme/中不起作用

关于java - favicon.ico 不在 spring mvc 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28964888/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com