第一次学习servlet,配置<servlet-mapping>出问题

启动Java Web项目时提示错误:A child container failed during start

完整错误信息如下:

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. 严重: A child container failed during start  
  2. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/testcs_dn-admin-web]]  
  3.     at java.util.concurrent.FutureTask.report(Unknown Source)  
  4.     at java.util.concurrent.FutureTask.get(Unknown Source)  
  5.     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)  
  6.     at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)  
  7.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
  8.     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)  
  9.     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)  
  10.     at java.util.concurrent.FutureTask.run(Unknown Source)  
  11.     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
  12.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
  13.     at java.lang.Thread.run(Unknown Source)  
  14. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/testcs_dn-admin-web]]  
  15.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)  
  16.     ... 6 more  
  17. Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name Action  
  18.     at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3275)  
  19.     at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3254)  
  20.     at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1430)  
  21.     at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1344)  
  22.     at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:876)  
  23.     at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:374)  
  24.     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)  
  25.     at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)  
  26.     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5355)  
  27.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
  28.     ... 6 more  
  29.   
  30. 十二月 09, 2014 2:21:25 下午 org.apache.catalina.core.ContainerBase startInternal  
  31. 严重: A child container failed during start  
  32. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]  
  33.     at java.util.concurrent.FutureTask.report(Unknown Source)  
  34.     at java.util.concurrent.FutureTask.get(Unknown Source)  
  35.     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)  
  36.     at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)  
  37.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
  38.     at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)  
  39.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
  40.     at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)  
  41.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
  42.     at org.apache.catalina.startup.Catalina.start(Catalina.java:689)  
  43.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  44.     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  
  45.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
  46.     at java.lang.reflect.Method.invoke(Unknown Source)  
  47.     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)  
  48.     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)  
  49. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]  
  50.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)  
  51.     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)  
  52.     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)  
  53.     at java.util.concurrent.FutureTask.run(Unknown Source)  
  54.     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
  55.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
  56.     at java.lang.Thread.run(Unknown Source)  
  57. Caused by: org.apache.catalina.LifecycleException: A child container failed during start  
  58.     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)  
  59.     at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)  
  60.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
  61.     ... 6 more  
  62.   
  63. 十二月 09, 2014 2:21:25 下午 org.apache.catalina.startup.Catalina start  
  64. 严重: The required Server component failed to start so Tomcat is unable to start.  
  65. org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8006]]  
  66.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)  
  67.     at org.apache.catalina.startup.Catalina.start(Catalina.java:689)  
  68.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  69.     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  
  70.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
  71.     at java.lang.reflect.Method.invoke(Unknown Source)  
  72.     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)  
  73.     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)  
  74. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]  
  75.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)  
  76.     at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)  
  77.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
  78.     ... 7 more  
  79. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]  
  80.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)  
  81.     at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)  
  82.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
  83.     ... 9 more  
  84. Caused by: org.apache.catalina.LifecycleException: A child container failed during start  
  85.     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)  
  86.     at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)  
  87.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
  88.     ... 11 more  
  89.   
  90. 十二月 09, 2014 2:21:25 下午 org.apache.coyote.AbstractProtocol pause  
  91. 信息: Pausing ProtocolHandler ["http-bio-8081"]  
  92. 十二月 09, 2014 2:21:25 下午 org.apache.coyote.AbstractProtocol pause  
  93. 信息: Pausing ProtocolHandler ["ajp-bio-8010"]  
  94. 十二月 09, 2014 2:21:25 下午 org.apache.catalina.core.StandardService stopInternal  
  95. 信息: Stopping service Catalina  
  96. 十二月 09, 2014 2:21:25 下午 org.apache.coyote.AbstractProtocol destroy  
  97. 信息: Destroying ProtocolHandler ["http-bio-8081"]  
  98. 十二月 09, 2014 2:21:25 下午 org.apache.coyote.AbstractProtocol destroy  
  99. 信息: Destroying ProtocolHandler ["ajp-bio-8010"]  
解决方法:

解决这个问题的关键在于错误信息中的:

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. Servlet mapping specifies an unknown servlet name Action  
打开项目下的“src\main\webapp\WEB-INF\web.xml”文件,查找类似下面的节点:
[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <servlet-mapping>  
  2.     <servlet-name>Action</servlet-name>  
  3.     <url-pattern>/public/Action</url-pattern>  
  4. </servlet-mapping>  
将这个节点删除,问题就解决了。

以上是别人的心得,但仍然不懂为什么要去掉。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值