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

  • Post author:
  • Post category:java

转:http://www.it1352.com/659731.html

异常描述:

SEVERE:启动期间子容器失败 java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ ClassManagementSystem]] 在java.util.concurrent.FutureTask $ Sync.innerGet(未知源) 在java.util.concurrent.FutureTask.get(未知来源) 在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) 在org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) 在org .apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1559) 在org.apache .catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1549) 在java.util.concurrent.FutureTask $ Sync.innerRun(未知酸ce) 在java.util.concurrent.FutureTask.run(未知源) 在java.util.concurrent.ThreadPoolExecutor.runWorker(未知源) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源) 在java.lang.Thread.run(未知来源) 导致:org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ ClassManagementSystem]] 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) … 7更多 引起的:java .lang.IllegalArgumentException:名为[ControllerServlet]和[com.classmgt.servlet.ControllerServlet]的servlet都映射到org.apache.catalina.deploy中不允许的 的url-pattern [/ ControllerServlet]。 Web.Xml.addServletMapping nfig.processAnnotationsStream(ContextConfig.java:2139) 在org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2100) 在org.apache.catalina.startup.ContextConfig.processAnnotationsFile( ContextConfig.java:2093) 在org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2093) 在org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java: 2093) 在org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1300) 在org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) 在org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369) 在org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 在org .apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 在org.apache.catalina.core.StandardContext.startInternal(St andardContext.java:5269) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) …另外 / pre>

我已尝试将 metadata-complete =“true”添加到 web。 xml ,但它不再识别servlet了。

解决方案

引起的:java.lang.IllegalArgumentException:名为
[ControllerServlet]和[com.classmgt.servlet.ControllerServlet]的servlet都
映射到不是$ b的url-pattern [/ ControllerServlet] $ b允许

似乎你已经混合了 @WebServlet 注释,

我怀疑您使用“创建Servlet”向导创建了一个Servlet,它创建web.xml条目与url-pattern,然后添加了一个 @WebServlet 注释,它们可以复制到web.xml中的任何内容。

你应该使用一个或另一个,而不是两者。从 web.xml 中删除​​映射,然后继续使用 @WebServlet 注释。