2014-01-17 45 views
0

我有以下錯誤,當我開始我的春天項目在網頁瀏覽器中的「控制檯」:Spring和標籤MVC資源,無法達到的.css

GET http://localhost:8080/lbagno/$%7Bresource%7D [HTTP/1.1 404 Not Found 6ms] 

當我看到控制檯我有以下消息:

WARNING: No mapping found for HTTP request with URI [/lbagno/${resource}] in DispatcherServlet with name 'mvc-dispatcher' 

而我不明白爲什麼。

您有解決方案嗎?

謝謝

架構的 'lbagno' 工程:

-- src 
    -- main 
    -- java 
     -- resources 
      -- css 
       -- normalMode 
        header.css 
     -- webapp 
      -- WEB-INF 
      -- /pages 
      -- mvc-dispatcher-serclet.xml 
      -- web.xml 
-- pom.xml 

-- target 
    -- apache-tomcat-maven-plugin 
    -- classes 
    -- dependency 
    -- lbagno 
    -- maven-archiver 
    -- surefire 
    -- tomcat 
    -- lbagno.war 

的lbagno.war結構

- META-INF 
    - /maven 
    - MANIFEST.MF 
- WEB-INF 
    - classes 
     - com 
     - css 
      - normalMode 
      - header.css 
     - images 
     - normalMode 
      -css 
      - header.css 
     - mvc-dispatcher-servlet.xml 
    - lib 
    - pages 
    - mvc-dispatcher-servlet.xml 
    - web.xml 
- index.jsp 

MVC-調度-servlet.xml中

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context.xsd"> 

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

    <bean id="viewResolver" 
      class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 

      <property value="org.springframework.web.servlet.view.JstlView" name="viewClass" /> 

      <property name="prefix"> 
       <value>/WEB-INF/pages/</value> 
      </property> 

      <property name="suffix"> 
       <value>.jsp</value> 
      </property> 
    </bean> 

    <mvc:annotation-driven/> 

    <mvc:resources mapping="/resources/**" location="/src/main/resources/css/normalMode/"/> 

</beans> 

web.xml

<!DOCTYPE web-app PUBLIC 
    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
    "http://java.sun.com/dtd/web-app_2_3.dtd" > 

<web-app> 
    <display-name>Archetype Created Web Application</display-name> 

    <servlet> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <servlet-class> 
     org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 
</web-app> 

header.jsp中

<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%> 

<head> 
    <spring:url value="/resources/css/header.css" var="resource"/> 
    <link media="screen" rel="stylesheet" type="text/css" href="${resource}" /> 
</head> 
+0

您使用的Tomcat版本? –

+0

我使用雄貓7 – user2274060

回答

0

此行是錯誤的

<mvc:resources mapping="/resources/**" location="/src/main/resources/css/normalMode/"/> 

位置src/main/resources是源位置!將此行更改爲:

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

查看war存檔以瞭解正確的文件位置。


你的CSS文件是放錯了位置太:

- WEB-INF 
    - classes 
     - com 
     - css 
      - normalMode 
      - header.css 
     - images 
     - normalMode 
      -css 
      - header.css 

請把這個文件放到src/main/webapp

+0

它不起作用 – user2274060

+0

向我們展示你的戰爭結構:) – MariuszS

+0

你可以看到我的戰爭文件現在在問題的主題 – user2274060

0

我認爲這個問題是在你的web.xml。您的web.xml應聲明爲Servlet 2.4或更高版本才能使用JSP Expression Language${resource})。

嘗試用這種web.xml

<web-app 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
    version="2.4"> 

    <display-name>Archetype Created Web Application</display-name> 

    <servlet> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 

</web-app> 
+0

我注意到我的戰爭文件在目標目錄從幾天前就沒有刷新過了。你知道一個maven命令來更新我的戰爭文件嗎? – user2274060

+0

'mvn package' :) – MariuszS