2013-11-26 153 views
0

我有mvc:resourcesservlet映射問題wtih MVC資源春

main-servlet.xml

** 
    <bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" value="/jsp/" /> 
     <property name="suffix" value=".jsp" /> 
    </bean> 

    <bean id="multipartResolver" 
     class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
     <property name="maxUploadSize" value="50000000" /> 
    </bean> 

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

一個問題,當我發表意見mvc:resources行的一切(否則)奇蹟般地開始工作。但是當我取消註釋時,只有這些資源纔有效。編譯時,日誌說只有css/**和images/**被映射,並且沒有其他映射。

web.xml文件:

<servlet-mapping> 
    <servlet-name>main</servlet-name> 
    <url-pattern>/css/**</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name>main</servlet-name> 
    <url-pattern>/images/**</url-pattern> 
</servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>main</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

我試圖把2周調度的servlet但這並不工作要麼。另一個servlet被讀取並且被映射,但請求默認爲主servlet。

編譯日誌後從web.xml中評論/ CSS/**和/圖片/ **:

** 
    org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler 
    INFO: Mapped URL path [/images/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0' 
    Nov 26, 2013 11:40:40 AM org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler 
    INFO: Mapped URL path [/css/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#1' 
    Nov 26, 2013 11:40:40 AM org.springframework.web.servlet.FrameworkServlet initServletBean 
    INFO: FrameworkServlet 'resources': initialization completed in 220 ms 
    Nov 26, 2013 11:40:40 AM org.apache.catalina.core.ApplicationContext log 
    INFO: Initializing Spring FrameworkServlet 'main' 
    Nov 26, 2013 11:40:40 AM org.springframework.web.servlet.FrameworkServlet initServletBean 
    ** 
    INFO: FrameworkServlet 'main': initialization completed in 234 ms 
    Nov 26, 2013 11:40:40 AM org.apache.coyote.http11.Http11Protocol init 
    INFO: Initializing Coyote HTTP/1.1 on http-8080 
    Nov 26, 2013 11:40:40 AM org.apache.coyote.http11.Http11Protocol start 
    INFO: Starting Coyote HTTP/1.1 on http-8080 
    Nov 26, 2013 11:40:53 AM org.springframework.web.servlet.DispatcherServlet noHandlerFound 
    WARNING: No mapping found for HTTP request with URI [/KT/] in DispatcherServlet with name 'main' 
+0

剛剛嘗試過。不工作:(現在編譯日誌 –

+0

請注意,你不應該把它稱爲_compilation_,它不是編譯,它是啓動/引導日誌, –

+0

什麼是_everything(else)_開始工作? –

回答

3

注意,不關你的控制器將與您當前的設置進行註冊。您需要

<mvc:annotation-driven /> 

添加到您的背景下,使彈簧與DispatcherServlet註冊它們。

mainDispatcherServlet也應該簡單地映射到

<servlet-mapping> 
    <servlet-name>main</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

其他人是多餘的。

+0

我相信你是對的。我添加了該行並嘗試編譯。我在啓動日誌中遇到這個錯誤。 「來自ServletContext資源[/WEB-INF/main-servlet.xml]的XML文檔中的第19行無效;嵌套異常是org.xml.sax.SAXParseException:cvc-complex-type.2.4.a:發現無效內容元素'context:component-scan'。'{「http://www.springframework.org/schema/mvc":message-converters,」http://www.springframework.org/schema/mvc「之一:爭論解決者......是預期的。「我是Spring的新手,所以謝謝你的支持 –

+0

我將mvc:anootation驅動的一行向下移動(在上下文之下:組件掃描)。現在我得到了同樣的錯誤,即「bean」(在mvc-annotation驅動之後的下一行)出現問題 –

+0

@您可以將日誌發佈到您的問題的編輯中嗎? –

0

的問題已經回答了,但我遇到了一堆的問題,而解決它,所以我要離開,以防萬一有人幾個解決步驟來尋找類似的問題:

1日和初始問題:MVC:資源什麼行爲不端(詳細問題) 解決方案:完全按照接受的答案建議解決。 (

第二個問題(見1堆棧跟蹤):發生時你沒有結束標記爲) 解決方法:添加「/」在年底或後添加的權利(也接受的答案有它正確)

第3期(第2次(最後一次)堆棧跟蹤):Occurrs當您沒有以下依賴信息:

 <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
      <version>4.3.1.Final</version> 
     </dependency> 

也。如果您使用Tika & Solrj togather,請選擇較高版本的sl4j-api。選擇較低版本會導致一大堆其他問題(抱歉,沒有堆棧跟蹤)。

我的版本:Solr 3.6.2,Solrj 4.4.0,Tika 1.4。