2015-12-30 387 views
1

當我嘗試運行項目中,我得到錯誤java.lang.IllegalArgumentException異常:servlet映射指定了一個未知的servlet名

Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name dispatcher 
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3156) 
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3135) 
    at org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1372) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1176) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 6 more 

web.xml

<servlet> 
    <servlet-name>DispatcherServlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping> 

回答

5

的的<servlet-mapping><servlet-name>必須與<servlet>條目的<servlet-name>完全相同。

因此,在特定情況下,<servlet-mapping>項改變這一行

<servlet-name>dispatcher</servlet-name> 

<servlet-name>DispatcherServlet</servlet-name> 
+0

它的幫助,但現在控制檯輸出 - http://pastebin.com/5BstVKr3 – Narkan

+0

你的應用程序了嗎? –

+0

我從「Spring MVC:初學者指南」複製此應用程序Amuthan G – Narkan

0

正如寫在

Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name dispatcher 

你的servlet名稱在<servlet><servlet-mapping>必須相同。