java.lang.IllegalArgumentException:servlet都映射到url-pattern [/ foo],这是不允许的

时间:2015-06-15 16:23:01

标签: tomcat servlets illegalargumentexception url-pattern servlet-mapping

当我尝试启动服务器时出现上述错误。重要提示,对于任何其他Web应用程序,服务器启动就可以了。它只是这个特殊的Web应用程序无法正常工作。这是完整的堆栈跟踪:

Caused by: java.lang.IllegalArgumentException: The servlets named [DOMServlet] and [edu.unsw.comp9321.DOMServlet] are both mapped to the url-pattern [/DOMServlet] which is not permitted
    at org.apache.catalina.deploy.WebXml.addServletMapping(WebXml.java:293)
    at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2428)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2103)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2064)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2057)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2057)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2057)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1304)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:889)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)
    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:5412)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 7 more

1 个答案:

答案 0 :(得分:1)

您好您应该检查您的web.xml文件,因为您有2个servlet DOMServletedu.unsw.comp9321.DOMServlet引用相同的url-pattern,如果您没有在web.xml中映射servlet检入您的代码使用@WebServlet分配的类。

另一个重点是,您可能已在tomcat目录中部署了另一个包含DOMServlet的应用程序,请检查 webapps 目录并清理它以确保您没有额外的战争与重复的网址模式。也许你可以给我们额外的信息来帮助你。

干杯