java.lang.IllegalArgumentException:名为[X]和[Y]的servlet都映射到不允许的url-pattern [/ url]

时间:2015-12-02 19:06:27

标签: eclipse tomcat servlets mapping illegalargumentexception

我不知道发生了什么,我只是在eclipse中编写我的东西,现在服务器不会启动。有任何想法吗?我尝试删除目录中的快照,但没有运气。我不知道该怎么办请帮助我有一个项目到期后我还没有完成。我试过谷歌搜索相信我。 :(

Caused by: java.lang.IllegalArgumentException: The servlets named [servlets.AddServlet] and [servlets.AddSubjectDetailsServlet] are both mapped to the url-pattern [/AddSubjectDetailsServlet] which is not permitted
    at org.apache.tomcat.util.descriptor.web.WebXml.addServletMapping(WebXml.java:308)
    at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2342)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2024)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:1918)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:1913)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1139)
    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:117)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5066)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 6 more

1 个答案:

答案 0 :(得分:2)

问题在于您的应用程序,更确切地说是在web.xml文件中。如果您搜索以下字符串:

/AddSubjectDetailsServlet

你会发现它的两次出现。这就是Tomcat抱怨的:

  

名为[servlets.AddServlet]和的servlet   [servlets.AddSubjectDetailsS​​ervlet]都映射到url-pattern   []不允许

基本上,您将两个servlet映射到同一个URL,因此Tomcat将无法正确路由请求。您需要将其中一个更改为其他内容。