title: Server Tomcat v9.0 Server at localhost failed to start in eclipse
body: <p>I have been trying to write basic spring mvc program just to show a static html page. I am experiencing an error which I am unable to resolve as this is my first spring-mvc program. I am using spring5.15 and apache tomcat9. I am trying to run my code but always getting exception below:</p>
  
  <p>Few pointers that I would like to add:
  1. I am not using maven or any dependency management tool.
  2. I am adding all the jars available in Spring 5.1.5 release,javax.servlet.jsp.jstl-1.2.1,common-logging-1.2.jar and javax.servlet.jsp.jstl-api-1.2.1.</p>
  
  <p>my web.xml file :</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns="http://xmlns.jcp.org/xml/ns/javaee"
      xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
      id="WebApp_ID" version="3.1"&gt;
  
      &lt;display-name&gt;spring-mvc-demo&lt;/display-name&gt;
  
      &lt;!-- Spring MVC Configs --&gt;
  
      &lt;!-- Step 1: Configure Spring MVC Dispatcher Servlet --&gt;
      &lt;servlet&gt;
          &lt;servlet-name&gt;dispatcher&lt;/servlet-name&gt;
          &lt;servlet-class&gt;org.springframework.web.servlet.DispatcherServlet&lt;/servlet-class&gt;
          &lt;init-param&gt;
              &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;
              &lt;param-value&gt;/WEB-INF/spring-mvc-demo-servlet.xml&lt;/param-value&gt;
          &lt;/init-param&gt;
          &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
      &lt;/servlet&gt;
  
      &lt;!-- Step 2: Set up URL mapping for Spring MVC Dispatcher Servlet --&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;dispatcher&lt;/servlet-name&gt;
          &lt;url-pattern&gt;/&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
  
  &lt;/web-app&gt;
  
  
  
  
  SEVERE: A child container failed during start
  java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/spring-mvc-demo2]]
          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:909)
          at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
          at java.util.concurrent.FutureTask.run(Unknown Source)
          at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
          at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
          at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.StandardService.startInternal(StandardService.java:423)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:928)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.startup.Catalina.start(Catalina.java:634)
          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:350)
          at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
      Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/spring-mvc-demo2]]
          at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
          at java.util.concurrent.FutureTask.run(Unknown Source)
          at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
          at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
          ... 21 more
      Caused by: java.lang.IllegalArgumentException: More than one fragment with the name [spring_web] was found. This is not legal with relative ordering. See section 8.2.2 2c of the Servlet specification for details. Consider using absolute ordering.
          at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2257)
          at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2215)
          at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1127)
          at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:768)
          at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:301)
          at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
          at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5048)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          ... 27 more
  
      Mar 25, 2019 5:59:15 AM org.apache.catalina.core.ContainerBase startInternal
      SEVERE: A child container failed during start
      java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: A child container failed during start
          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:909)
          at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.StandardService.startInternal(StandardService.java:423)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:928)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.startup.Catalina.start(Catalina.java:634)
          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:350)
          at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
      Caused by: org.apache.catalina.LifecycleException: A child container failed during start
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:921)
          at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
          at java.util.concurrent.FutureTask.run(Unknown Source)
          at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
          at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
          ... 13 more
      Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/spring-mvc-demo2]]
          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:909)
          ... 21 more
      Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/spring-mvc-demo2]]
          at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
          at java.util.concurrent.FutureTask.run(Unknown Source)
          at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
          at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
          ... 21 more
      Caused by: java.lang.IllegalArgumentException: More than one fragment with the name [spring_web] was found. This is not legal with relative ordering. See section 8.2.2 2c of the Servlet specification for details. Consider using absolute ordering.
          at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2257)
          at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2215)
          at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1127)
          at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:768)
          at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:301)
          at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
          at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5048)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          ... 27 more
  
      Mar 25, 2019 5:59:15 AM org.apache.catalina.startup.Catalina start
      SEVERE: The required Server component failed to start so Tomcat is unable to start.
      org.apache.catalina.LifecycleException: A child container failed during start
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:921)
          at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.StandardService.startInternal(StandardService.java:423)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:928)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.startup.Catalina.start(Catalina.java:634)
          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:350)
          at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
      Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: A child container failed during start
          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:909)
          ... 13 more
      Caused by: org.apache.catalina.LifecycleException: A child container failed during start
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:921)
          at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
          at java.util.concurrent.FutureTask.run(Unknown Source)
          at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
          at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
          ... 13 more
      Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/spring-mvc-demo2]]
          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:909)
          ... 21 more
      Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/spring-mvc-demo2]]
          at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
          at java.util.concurrent.FutureTask.run(Unknown Source)
          at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
          at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
          ... 21 more
      Caused by: java.lang.IllegalArgumentException: More than one fragment with the name [spring_web] was found. This is not legal with relative ordering. See section 8.2.2 2c of the Servlet specification for details. Consider using absolute ordering.
          at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2257)
          at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2215)
          at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1127)
          at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:768)
          at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:301)
          at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
          at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5048)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          ... 27 more**
  </code></pre>