java.lang.IllegalArgumentException: <url-pattern> Servlet 映射中的 WelcomeServlet 无效



我已经安装tomcat服务器与我的动态web项目在eclipse Luna上工作。当我不加载任何项目文件时,服务器似乎运行良好,但当我加载我的项目时,它会给出错误"服务器Tomcat v7.0服务器在localhost启动失败"。我已经检查了我的项目,似乎没有错误。这些是我得到的服务器启动消息:

Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> WelcomeServlet in servlet mapping
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3325)
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3300)
    at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1438)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1357)
    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:5419)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 6 more

您对WelcomeServlet的url模式使用了错误的语法。设为<url-pattern>/WelcomeServlet</url-pattern>。我在Servlet的名称之前添加了一个/

Servlet映射可以用两种方式定义:

  • <servlet-name> for Named servlet
  • <url-pattern> url模式
使用servlet-name

<servlet-mapping>
    <servlet-name>WelcomeServlet</servlet-name>
</servlet-mapping>

使用url模式

<servlet-mapping>
    <url-pattern>/WelcomeServlet</url-pattern>
</servlet-mapping>

如果您有兴趣了解url-pattern的规则,请参考此处

最新更新