1

ローカルでホストされている春のアプリケーションで favicon を使用しようとしています。Tomcat 7.0あたりの春のmvc 3.2.2にfavicon.icoが表示されないのですか?、 私が追加しました

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

私のweb.xmlで:

 <display-name>Coaching</display-name>
<servlet>
    <servlet-name>Coaching</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/applicationContext.xml
        </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

<mime-mapping>
    <extension>ico</extension>
    <mime-type>image/x-icon</mime-type>
</mime-mapping>
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

追加する

       <mvc:default-servlet-handler /> 

アプリケーションの実行中にconfig.xmlでエラーが発生するか、アプリケーションが実際には実行されていません。私のapplicationContext.xmlは次のとおりです。

              <context:component-scan base-package="com.coaching.controller" />

<!-- Enable annotation driven controllers, validation etc... -->
<mvc:annotation-driven />

<!-- Resolves view names to protected .jsp resources within the /WEB-INF/views 
    directory -->
<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">



    <property name="prefix">
        <value>/WEB-INF/views/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

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

私の favicon.ico は webapp (別名 WEB-INF からの 1 つ) ディレクトリのルートにあります ( Spring MVC から favicon を追加します)。しかし、ウェブアドレスバーには表示されません。私はそれを次のようにレンダリングしています

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

jsp ページの先頭。https://stackoverflow.com/a/17039121/2116229も試しましたが、アプリケーションは再び実行されませんでした。

アイコンのいくつかの場所を試しましたが、結果はありません。spring mvc 構成が必要である必要があります。誰かが私に欠けているものを教えてもらえますか?

ローカルホストにもファビコンが表示されることを願っています。

4

1 に答える 1

2

Dispatcher サーブレットのマッピングが問題です。*.html にのみ反応し、それ以外はすべて無視されます。

<servlet-mapping>
  <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
  <url-pattern>*.html</url-pattern>
</servlet-mapping>

こちらは基本的に未使用<mvc:resources */>とさせていただきます。<mvc:default-servlet-handler />すべてが DispatcherServlet を通過するようにするには、サーブレットを / にマップする必要があります。

<servlet-mapping>
  <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

次に、サーブレット要素とサーブレット マッピングに不一致があります。名前が一致する必要があります。したがって、名前は「Spring MVC Dispatcher Servlet」ではなく「Coaching」にする必要があると思います

<servlet-mapping>
  <servlet-name>Coaching</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>
于 2013-08-21T13:00:03.190 に答える