我已经安装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-mapping> <servlet-name>WelcomeServlet</servlet-name> </servlet-mapping>
或
使用url模式<servlet-mapping> <url-pattern>/WelcomeServlet</url-pattern> </servlet-mapping>
如果您有兴趣了解url-pattern的规则,请参考此处