2015-12-30 588 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>必须相同。