初学Servlet时,报出错误如下:
Caused by: java.lang.IllegalArgumentException: The servlets named [user] and [controller.UserServlet] are both mapped to the url-pattern [/user] which is not permitted
at org.apache.tomcat.util.descriptor.web.WebXml.addServletMappingDecoded(WebXml.java:326)
at org.apache.tomcat.util.descriptor.web.WebXml.addServletMapping(WebXml.java:319)
at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2379)
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2056)
at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:1942)
at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:1936)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1143)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:765)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 42 more
大致的意思是说一个叫[user]和一个叫[controller.UserServlet]的东西同时指向了url-pattern [/user]
经过一番检查之后得知自己犯了一个低级的错误
web.xml配置如下所示:
UserServlet.java如下所示:
上图中圈红的位置就是冲突的地方,注解配置和xml配置冲突了