2011-07-21 54 views
0

有人可以幫助我。在Spring MVC,我發現了錯誤Spring MVC:「在DispatcherServlet中沒有名稱爲'dispatcher'的映射」

  • 警告:對於[/TechBooks/details.htm在 DispatcherServlet的名爲 '調度'

1)首先沒有映射,在web.xml中,我用的是標準的DispatcherServlet其在這裏攔截所有的* .htm,沒有什麼異常,對我來說這是預先寫好的:

<servlet> 
    <servlet-name>dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>2</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>*.htm</url-pattern> 
</servlet-mapping> 

2)在調度-servlet.xml中,我現在用的是SimpleUrlHandlerMapping建立,這同樣是標準的預先寫好的:

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
     <props> 
      <prop key="index.htm">indexController</prop> 
     </props> 
    </property> 
</bean> 

3)另外,在調度-servlet.xml中,我定義我的的FormController類被稱爲 「DetailsFormController」,映射到details.htm

<bean name="/details.htm" class="techbooks.web.DetailsFormController"/> 

4)和類DetailsFormController是一個形式的FormController。

package techbooks.web; 

public class DetailsFormController extends SimpleFormController { 
    .... 
    } 

當我執行資源/details.htm,但是,我得到上述錯誤。

  • 警告:否映射[/TechBooks/details.htm]在 DispatcherServlet的名爲 '調度'

任何想法,將不勝感激。謝謝。

回答

0

你可以改變你的bean difinition到

 <bean name="/TechBooks/details. htm" class="techbooks.web.DetailsFormController"/> 

或寫TechBooks

+0

謝謝。我像你說的那樣改變了它。同樣的錯誤: DispatcherServlet中名爲'dispatcher'的[/TechBooks/details.htm]沒有映射 – user783312

0

一個urlMapping中處理我發現了什麼問題了。

使用SimpleUrlHandlerMapping時,控制器名稱必須爲DetailsController,而不是DetailsFormController,因此它會自動映射到正確的JSP。

+0

我很困惑,是DetailsController你的類還是另一個類?什麼是DetailsFormController? –

相關問題