初学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配置冲突了
本文介绍了在使用Servlet过程中遇到的URL映射冲突问题及解决方法。冲突发生在两个Servlet(名称为[user]和[controller.UserServlet])被映射到相同的URL模式[/user]时。文章展示了如何检查和修改web.xml配置文件以及Servlet注解来避免此类问题。
3051

被折叠的 条评论
为什么被折叠?



