Java Apache Tomcat上的GWT项目:启动期间子容器失败
我最近在GWT项目中添加了另一个servlet。在将它分离到tomcat之后,我得到了一个错误。当我在dev.模式下运行它时,servlet容器按预期工作 编辑:应该添加tomcat由于错误而无法启动 catalina.2014-11-26日志:Java Apache Tomcat上的GWT项目:启动期间子容器失败,java,tomcat,servlets,gwt,Java,Tomcat,Servlets,Gwt,我最近在GWT项目中添加了另一个servlet。在将它分离到tomcat之后,我得到了一个错误。当我在dev.模式下运行它时,servlet容器按预期工作 编辑:应该添加tomcat由于错误而无法启动 catalina.2014-11-26日志: 26-Nov-2014 08:20:53.930 SEVERE [Catalina-startStop-1] org.apache.catalina.core.ContainerBase.startInternal A child container
26-Nov-2014 08:20:53.930 SEVERE [Catalina-startStop-1] org.apache.catalina.core.ContainerBase.startInternal A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:917)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:868)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 6 more
Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> buysmarter/download in servlet mapping
at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3125)
at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3100)
at org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1372)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1176)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)
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:5095)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
2014年11月26日08:20:53.930严重[Catalina-startStop-1]org.apache.Catalina.core.ContainerBase.startInternal子容器在启动过程中失败
java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:未能启动组件[StandardEngine[catalina].StandardHost[localhost].StandardContext[]
位于java.util.concurrent.FutureTask.report(未知源)
位于java.util.concurrent.FutureTask.get(未知源)
位于org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:917)
位于org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:868)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
位于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[]
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 还有6个
原因:java.lang.IllegalArgumentException:servlet映射中的buysmarter/download无效
位于org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3125)
位于org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3100)
位于org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1372)
位于org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1176)
位于org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771)
位于org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)
位于org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
位于org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5095)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 还有6个
My web.xml如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">
<!-- Servlets -->
<servlet>
<servlet-name>buySmarterServiceImpl</servlet-name>
<servlet-class>dk.buysmarter.gwt.buysmarter.server.BuySmarterServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>buySmarterServiceImpl</servlet-name>
<url-pattern>/buysmarter/buysmarterservice</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DownloadServlet</servlet-name>
<servlet-class>dk.buysmarter.gwt.buysmarter.server.DownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DownloadServlet</servlet-name>
<url-pattern>buysmarter/download</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
购买智能服务impl
dk.buysmarter.gwt.buysmarter.server.BuySmarterServiceImpl
购买智能服务impl
/购买智能服务/购买智能服务
下载servlet
dk.buysmarter.gwt.buysmarter.server.DownloadServlet
下载servlet
购买智能手机/下载
index.html
我已将tomcat配置为tomcat server.xml,以便:
<Context path="" docBase="war">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
<Context path="ROOT" docBase="ROOT">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
WEB-INF/WEB.xml
WEB-INF/WEB.xml
DownloadServlet
的servlet映射中,它不是/buysmarter/download
而不是buysmarter/download
吗?它不应该是no。如果我添加/buysmarter/download,它将打开url.com//buysmarter/download请检查此链接是否存在有效的url模式
I将web.xml更改为/buysmarter/download。仍然看到同样的错误吗