编程语言您现在的位置是:首页 > 博客日志 > 编程语言

Servlet mapping specifies an unknown servlet name Action

<a href='mailto:'>微wx笑</a>的头像微wx笑 2020-04-08编程语言 7 0关键字: Java  

启动Java Web项目时提示错误:Servlet mapping specifies an unknown servlet name Action完整错误信息如下:严重: A child container failed during startjava.util.concurren


oPO无知

启动Java Web项目时提示错误:Servlet mapping specifies an unknown servlet name ActionoPO无知

完整错误信息如下:oPO无知


oPO无知

严重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/testcs_dn-admin-web]]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:1123)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)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[/testcs_dn-admin-web]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
	... 6 more
Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name Actionat org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3275)at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3254)at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1430)at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1344)at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:876)at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:374)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:5355)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 6 more

十二月 09, 2014 2:21:25 下午 org.apache.catalina.core.ContainerBase startInternal
严重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]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:1123)at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.startup.Catalina.start(Catalina.java:689)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)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: A child container failed during startat org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 6 more

十二月 09, 2014 2:21:25 下午 org.apache.catalina.startup.Catalina start严重: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8006]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)at org.apache.catalina.startup.Catalina.start(Catalina.java:689)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during startat org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 11 more

十二月 09, 2014 2:21:25 下午 org.apache.coyote.AbstractProtocol pause
信息: Pausing ProtocolHandler ["http-bio-8081"]
十二月 09, 2014 2:21:25 下午 org.apache.coyote.AbstractProtocol pause
信息: Pausing ProtocolHandler ["ajp-bio-8010"]
十二月 09, 2014 2:21:25 下午 org.apache.catalina.core.StandardService stopInternal
信息: Stopping service Catalina
十二月 09, 2014 2:21:25 下午 org.apache.coyote.AbstractProtocol destroy
信息: Destroying ProtocolHandler ["http-bio-8081"]
十二月 09, 2014 2:21:25 下午 org.apache.coyote.AbstractProtocol destroy
信息: Destroying ProtocolHandler ["ajp-bio-8010"]

最初这个问题是以: A child container failed during start 来记录的,但是 有很多问题会导致 A child container failed during start 错误,而在这个错误之上,还会有其它的错误,比如本错误:oPO无知


oPO无知

Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name Action

oPO无知

问题的产生:oPO无知

我是 Copy 的其它项目的 web.xml 文件,里面有配置的 Servlet 本项目中没有,就导致了这个错误。oPO无知

解决方法:oPO无知


oPO无知

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

[plain] view plain copyoPO无知

oPO无知

oPO无知

  1. Servlet mapping specifies an unknown servlet name Action  oPO无知

打开项目下的“src\main\webapp\WEB-INF\web.xml”文件,查找类似下面的节点:
oPO无知

[html] view plain copyoPO无知

oPO无知

oPO无知

  1. <servlet-mapping>  oPO无知

  2.     <servlet-name>Action</servlet-name>  oPO无知

  3.     <url-pattern>/public/Action</url-pattern>  oPO无知

  4. </servlet-mapping>  oPO无知

将这个节点删除,问题就解决了。

oPO无知

本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/lang/2020-04-08/382.html

很赞哦! () 有话说 ()