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

一位学生,使用eclipse编写简单的servlet+jsp时候,右键--》new-->servlet。编写基本逻辑(在XML配置servlet,编写基本跳转代码)后发现运行项目弹出框提示这个:

'Start Tomcat v8.0 Server at localhost' has encountered a problem.

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

而控制台输出:

八月 11, 2015 5:22:07 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin

警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ST' did not find a matching property.

八月 11, 2015 5:22:07 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin

警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:HelloWorld' did not find a matching property.

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Server version:        Apache Tomcat/8.0.23

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Server built:          May 19 2015 14:58:38 UTC

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Server number:         8.0.23.0

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: OS Name:               Windows 8.1

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: OS Version:            6.3

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Architecture:          amd64

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Java Home:             C:\Program Files\Java\jre1.8.0_45

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: JVM Version:           1.8.0_45-b14

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: JVM Vendor:            Oracle Corporation

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: CATALINA_BASE:         D:\Users\wang\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: CATALINA_HOME:         C:\apache-tomcat-8.0.23

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Command line argument: -Dcatalina.base=D:\Users\wang\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Command line argument: -Dcatalina.home=C:\apache-tomcat-8.0.23

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Command line argument: -Dwtp.deploy=D:\Users\wang\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Command line argument: -Djava.endorsed.dirs=C:\apache-tomcat-8.0.23\endorsed

八月 11, 2015 5:22:07 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Command line argument: -Dfile.encoding=GBK

八月 11, 2015 5:22:07 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent

信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.8.0_45\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_45/bin/server;C:/Program Files/Java/jre1.8.0_45/bin;C:/Program Files/Java/jre1.8.0_45/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\GtkSharp\2.12\bin;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5.4 & MySQL Utilities 1.5.4 1.5\;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5.4 & MySQL Utilities 1.5.4 1.5\Doctrine extensions for PHP\;C:\Program Files\Java\jdk1.8.0_45\bin;D:\Cocos\frameworks\cocos2d-x-3.6\tools\cocos2d-console\bin;D:\Cocos\tools\Python27;

八月 11, 2015 5:22:08 下午 org.apache.coyote.AbstractProtocol init

信息: Initializing ProtocolHandler ["http-nio-8080"]

八月 11, 2015 5:22:08 下午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector

信息: Using a shared selector for servlet write/read

八月 11, 2015 5:22:08 下午 org.apache.coyote.AbstractProtocol init

信息: Initializing ProtocolHandler ["ajp-nio-8009"]

八月 11, 2015 5:22:08 下午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector

信息: Using a shared selector for servlet write/read

八月 11, 2015 5:22:08 下午 org.apache.catalina.startup.Catalina load

信息: Initialization processed in 2109 ms

八月 11, 2015 5:22:08 下午 org.apache.catalina.core.StandardService startInternal

信息: Starting service Catalina

八月 11, 2015 5:22:08 下午 org.apache.catalina.core.StandardEngine startInternal

信息: Starting Servlet Engine: Apache Tomcat/8.0.23

八月 11, 2015 5:22:09 下午 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom

信息: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [266] milliseconds.

八月 11, 2015 5:22:09 下午 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[/HelloWorld]]

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:871)

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[/HelloWorld]]

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)

... 6 more

Caused by: java.lang.IllegalArgumentException: The servlets named [helloworld] and [HelloWorld] are both mapped to the url-pattern [/HelloWorld] which is not permitted

at org.apache.tomcat.util.descriptor.web.WebXml.addServletMapping(WebXml.java:308)

at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2342)

at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2024)

at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:1918)

at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1139)

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:5066)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

... 6 more

八月 11, 2015 5:22:09 下午 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:917)

at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.StandardService.startInternal(StandardService.java:439)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:769)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.startup.Catalina.start(Catalina.java:625)

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:351)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

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: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: A child container failed during start

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:925)

at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

... 6 more

八月 11, 2015 5:22:09 下午 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:154)

at org.apache.catalina.startup.Catalina.start(Catalina.java:625)

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:351)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

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:769)

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:439)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

... 9 more

Caused by: org.apache.catalina.LifecycleException: A child container failed during start

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:925)

at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

... 11 more

八月 11, 2015 5:22:09 下午 org.apache.coyote.AbstractProtocol pause

信息: Pausing ProtocolHandler ["http-nio-8080"]

八月 11, 2015 5:22:09 下午 org.apache.coyote.AbstractProtocol pause

信息: Pausing ProtocolHandler ["ajp-nio-8009"]

八月 11, 2015 5:22:09 下午 org.apache.catalina.core.StandardService stopInternal

信息: Stopping service Catalina

八月 11, 2015 5:22:09 下午 org.apache.coyote.AbstractProtocol destroy

信息: Destroying ProtocolHandler ["http-nio-8080"]

八月 11, 2015 5:22:09 下午 org.apache.coyote.AbstractProtocol destroy

严重: Failed to destroy end point associated with ProtocolHandler ["http-nio-8080"]

java.lang.NullPointerException

at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:303)

at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:479)

at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:818)

at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:532)

at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)

at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)

at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:588)

at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)

at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:859)

at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)

at org.apache.catalina.startup.Catalina.start(Catalina.java:629)

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:351)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

八月 11, 2015 5:22:09 下午 org.apache.coyote.AbstractProtocol destroy

信息: Destroying ProtocolHandler ["ajp-nio-8009"]

八月 11, 2015 5:22:09 下午 org.apache.coyote.AbstractProtocol destroy

严重: Failed to destroy end point associated with ProtocolHandler ["ajp-nio-8009"]

java.lang.NullPointerException

at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:303)

at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:479)

at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:818)

at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:532)

at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)

at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)

at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:588)

at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)

at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:859)

at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)

at org.apache.catalina.startup.Catalina.start(Catalina.java:629)

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:351)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

 

Start Tomcat v8.0 Server at localhost

方法/步骤

  1. 看到上面的黑体字了吗?

    哪里就是出现该错误的原因。

    Caused by: java.lang.IllegalArgumentException: The servlets named [helloworld] and [HelloWorld] are both mapped to the url-pattern [/HelloWorld] which is not permitted

    at org.apache.tomcat.util.descriptor.web.WebXml.addServletMapping(WebXml.java:308)

  2. Servlet的时候eclipse已经帮助建好了url-patten。

    @WebServlet("/HelloWorld")

    public class HelloWorld extends HttpServlet {

    private static final long serialVersionUID = 1L;

           

        /**

         * @see HttpServlet#HttpServlet()

         */

        public HelloWorld() {

            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

    doPost(request,response);

    }

    /**

    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

    */

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    // TODO Auto-generated method stub

    String u_name=request.getParameter("u_name");

    String ad="Welcome,"+u_name;

    request.setAttribute("ad", ad);

    request.getRequestDispatcher("/welcome.jsp").forward(request, response);  

    }

    }

  3. 打开你的Servlet类,你会发现在类上面有一个@WebServlet("/HelloWorld")。

    如果你在web.xml里面这样写:

    <servlet>

      <servlet-name>helloworld</servlet-name>

      <servlet-class>HelloWorld</servlet-class>

      </servlet>

      <servlet-mapping>

      <servlet-name>helloworld</servlet-name>

      <url-pattern>/HelloWorld</url-pattern>

     </servlet-mapping>

    就是报错。

  4. 解决方法一:

    去掉类上面的@WebServlet("/HelloWorld")。在web.xml写<servlet-mapping>。

  5. 解决方法二:

    在web.xml里不写  <servlet-mapping>,而要保留@WebServlet("/HelloWorld")。如下web.xml:

    <?xml version="1.0" encoding="UTF-8"?>

    <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">

      <display-name>HelloWorld</display-name>

      <welcome-file-list>

        <welcome-file>index.html</welcome-file>

      </welcome-file-list>

      

      <servlet>

      <servlet-name>helloworld</servlet-name>

      <servlet-class>HelloWorld</servlet-class>

      </servlet>

      

     

    </web-app>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值