zoukankan      html  css  js  c++  java
  • java 之 jsp tomcat启动失败问题

    问题描述:

    创建了一个helloServlet

    代码如下

    package Test;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class helloServlet
     */
    @WebServlet("/helloServlet")
    public class helloServlet extends HttpServlet {
    //    private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public helloServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            response.setCharacterEncoding("GBK");
            response.getWriter().write("你好 世界");
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            doGet(request, response);
        }
    
    }

    接着配置

    web.xml

    代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>haha</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      <servlet>
      <!-- 类名 -->
          <servlet-name>helloServlet</servlet-name>
          <!-- 类所在的包路径 -->
          <servlet-class>Test.helloServlet</servlet-class>
       </servlet>
      <!-- 映射路径 -->
      <servlet-mapping>
      
      <servlet-name>helloServlet</servlet-name>
      <url-pattern>TomcatTest/helloServlet</url-pattern>
      </servlet-mapping>
     
    </web-app>

    启动server

    报错错误如下

     Server Tomcat v7.0 Server at localhost failed to start.

    日志:

    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: Server version:        Apache Tomcat/7.0.92
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: Server built:          Nov 9 2018 11:07:44 UTC
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: Server number:         7.0.92.0
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: OS Name:               Windows 10
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: OS Version:            10.0
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: Architecture:          amd64
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: Java Home:             C:Program FilesJavajre1.8.0_161
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: JVM Version:           1.8.0_161-b12
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: JVM Vendor:            Oracle Corporation
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: CATALINA_BASE:         D:Eclipse_WorkSpace.metadata.pluginsorg.eclipse.wst.server.core	mp0
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: CATALINA_HOME:         D:apache-tomcat-7.0.92
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: Command line argument: -Dcatalina.base=D:Eclipse_WorkSpace.metadata.pluginsorg.eclipse.wst.server.core	mp0
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: Command line argument: -Dcatalina.home=D:apache-tomcat-7.0.92
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: Command line argument: -Dwtp.deploy=D:Eclipse_WorkSpace.metadata.pluginsorg.eclipse.wst.server.core	mp0wtpwebapps
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: Command line argument: -Djava.endorsed.dirs=D:apache-tomcat-7.0.92endorsed
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.VersionLoggerListener log
    信息: Command line argument: -Dfile.encoding=GBK
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
    信息: Loaded APR based Apache Tomcat Native library 1.2.18 using APR version 1.6.5.
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
    信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.core.AprLifecycleListener initializeSSL
    信息: OpenSSL successfully initialized (OpenSSL 1.1.1  11 Sep 2018)
    十二月 28, 2018 8:45:59 下午 org.apache.coyote.AbstractProtocol init
    信息: Initializing ProtocolHandler ["http-apr-8080"]
    十二月 28, 2018 8:45:59 下午 org.apache.coyote.AbstractProtocol init
    信息: Initializing ProtocolHandler ["ajp-apr-8009"]
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.startup.Catalina load
    信息: Initialization processed in 439 ms
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.core.StandardService startInternal
    信息: Starting service Catalina
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.core.StandardEngine startInternal
    信息: Starting Servlet Engine: Apache Tomcat/7.0.92
    十二月 28, 2018 8:45:59 下午 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
    警告: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [182] milliseconds.
    十二月 28, 2018 8:46:00 下午 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[/haha]]
        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:1243)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1707)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1697)
        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[/haha]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
        ... 6 more
    Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> TomcatTest/helloServlet in servlet mapping
        at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3471)
        at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3446)
        at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1439)
        at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1352)
        at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
        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:5566)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        ... 6 more
    
    十二月 28, 2018 8:46:00 下午 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]]
        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:1243)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:444)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:758)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:710)
        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:294)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1707)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1697)
        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 start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1254)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        ... 6 more
    Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/haha]]
        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:1243)
        ... 8 more
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/haha]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
        ... 6 more
    Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> TomcatTest/helloServlet in servlet mapping
        at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3471)
        at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3446)
        at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1439)
        at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1352)
        at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
        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:5566)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        ... 6 more
    
    十二月 28, 2018 8:46:00 下午 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[8005]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:710)
        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:294)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:758)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        ... 7 more
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:444)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        ... 9 more
    Caused by: org.apache.catalina.LifecycleException: A child container failed during start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1254)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        ... 11 more
    Caused by: java.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:1243)
        ... 13 more
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1707)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1697)
        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 start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1254)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        ... 6 more
    Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/haha]]
        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:1243)
        ... 8 more
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/haha]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
        ... 6 more
    Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> TomcatTest/helloServlet in servlet mapping
        at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3471)
        at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3446)
        at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1439)
        at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1352)
        at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
        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:5566)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        ... 6 more
    
    十二月 28, 2018 8:46:00 下午 org.apache.coyote.AbstractProtocol pause
    信息: Pausing ProtocolHandler ["http-apr-8080"]
    十二月 28, 2018 8:46:00 下午 org.apache.coyote.AbstractProtocol pause
    信息: Pausing ProtocolHandler ["ajp-apr-8009"]
    十二月 28, 2018 8:46:00 下午 org.apache.catalina.core.StandardService stopInternal
    信息: Stopping service Catalina
    十二月 28, 2018 8:46:00 下午 org.apache.coyote.AbstractProtocol destroy
    信息: Destroying ProtocolHandler ["http-apr-8080"]
    十二月 28, 2018 8:46:00 下午 org.apache.coyote.AbstractProtocol destroy
    信息: Destroying ProtocolHandler ["ajp-apr-8009"]

    解决方案:

    根据日志可以分析出可能跟web.xml有关

    推测是否是eclipse自动会设置映射路径,于是删掉配置的servlet

    代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>haha</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      
     
    </web-app>

    启动server

    成功

    问题解决

  • 相关阅读:
    Python元组、列表、字典
    测试通过Word直接发布博文
    Python环境搭建(windows)
    hdu 4003 Find Metal Mineral 树形DP
    poj 1986 Distance Queries LCA
    poj 1470 Closest Common Ancestors LCA
    poj 1330 Nearest Common Ancestors LCA
    hdu 3046 Pleasant sheep and big big wolf 最小割
    poj 3281 Dining 最大流
    zoj 2760 How Many Shortest Path 最大流
  • 原文地址:https://www.cnblogs.com/zero-vic/p/10192741.html
Copyright © 2011-2022 走看看