Java EE Eclipse Servlet Tomcat 7 错误:名为 [..] 的 servlet 都映射到 u



我刚开始使用Eclipse Servlet,在尝试在服务器上运行动态Web项目时出现此错误:

Jan 22, 2016 7:16:51 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:couchfriendslsrs' did not find a matching property.
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server version:        Apache Tomcat/7.0.67
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server built:          Dec 7 2015 13:07:11 UTC
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server number:         7.0.67.0
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: OS Name:               Windows 8.1
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: OS Version:            6.3
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Architecture:          amd64
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Java Home:             C:Program FilesJavajdk1.8.0_71jre
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: JVM Version:           1.8.0_71-b15
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: JVM Vendor:            Oracle Corporation
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: CATALINA_BASE:         C:Programming FilesEclipseJEE.metadata.pluginsorg.eclipse.wst.server.coretmp0
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: CATALINA_HOME:         C:Program FilesApache Tomcatapache-tomcat-7.0.67-windows-x64apache-tomcat-7.0.67
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dcatalina.base=C:Programming FilesEclipseJEE.metadata.pluginsorg.eclipse.wst.server.coretmp0
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dcatalina.home=C:Program FilesApache Tomcatapache-tomcat-7.0.67-windows-x64apache-tomcat-7.0.67
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dwtp.deploy=C:Programming FilesEclipseJEE.metadata.pluginsorg.eclipse.wst.server.coretmp0wtpwebapps
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.endorsed.dirs=C:Program FilesApache Tomcatapache-tomcat-7.0.67-windows-x64apache-tomcat-7.0.67endorsed
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dfile.encoding=Cp1252
    Jan 22, 2016 7:16:51 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:Program FilesJavajdk1.8.0_71bin;C:windowsSunJavabin;C:windowssystem32;C:windows;C:/Program Files/Java/jre1.8.0_71/bin/server;C:/Program Files/Java/jre1.8.0_71/bin;C:/Program Files/Java/jre1.8.0_71/lib/amd64;C:ProgramDataOracleJavajavapath;C:windowssystem32;C:windows;C:windowsSystem32Wbem;C:windowsSystem32WindowsPowerShellv1.0;C:Program FilesMATLABR2014abin;C:Program Files (x86)Windows LiveShared;C:Program Filesnodejs;C:Program Files (x86)SkypePhone;C:Userss142966AppDataLocalatombin;C:Userss142966AppDataRoamingnpm;C:Program Fileseclipse-jee-kepler-R-win32-x86_64;;.
    Jan 22, 2016 7:16:51 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-bio-8080"]
    Jan 22, 2016 7:16:51 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 479 ms
    Jan 22, 2016 7:16:51 PM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service Catalina
    Jan 22, 2016 7:16:51 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.67
    Jan 22, 2016 7:16:51 PM org.apache.catalina.core.ContainerBase startInternal
    SEVERE: A child container failed during start
    java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/couchfriendslsrs]]
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1122)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1564)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/couchfriendslsrs]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
        ... 6 more
    Caused by: java.lang.IllegalArgumentException: The servlets named [action_edit_profile] and [ro.lsrs.couchfriends.controllers.ActionEditProfile] are both mapped to the url-pattern [/action_edit_profile] which is not permitted
        at org.apache.catalina.deploy.WebXml.addServletMapping(WebXml.java:293)
        at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2443)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2118)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2079)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2072)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2072)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2072)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2072)
        at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1304)
        at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:889)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)
        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:5479)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 6 more
    Jan 22, 2016 7:16:51 PM org.apache.catalina.core.ContainerBase startInternal
    SEVERE: 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(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1122)
        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:739)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:693)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        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:154)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1564)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: org.apache.catalina.LifecycleException: A child container failed during start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1130)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 6 more
    Jan 22, 2016 7:16:51 PM org.apache.catalina.startup.Catalina start
    SEVERE: 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:693)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        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:154)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:739)
        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 start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1130)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 11 more
    Jan 22, 2016 7:16:51 PM org.apache.coyote.AbstractProtocol pause
    INFO: Pausing ProtocolHandler ["http-bio-8080"]
    Jan 22, 2016 7:16:51 PM org.apache.coyote.AbstractProtocol pause
    INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
    Jan 22, 2016 7:16:51 PM org.apache.catalina.core.StandardService stopInternal
    INFO: Stopping service Catalina
    Jan 22, 2016 7:16:51 PM org.apache.coyote.AbstractProtocol destroy
    INFO: Destroying ProtocolHandler ["http-bio-8080"]
    Jan 22, 2016 7:16:51 PM org.apache.coyote.AbstractProtocol destroy
    INFO: Destroying ProtocolHandler ["ajp-bio-8009"]

信息:

  • jdk1.8.0_71上运行项目和服务器。
  • C:\PathToWorkspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 显示项目名称。
  • 关于 url 错误:The servlets named [action_edit_profile] and [ro.lsrs.couchfriends.controllers.ActionEditProfile] are both mapped to the url-pattern [/action_edit_profile] which is not permitted ,因此设置了 web.xml 文件(错误中给出的 servlet 示例):

    <servlet>
        <servlet-name>action_edit_profile</servlet-name>
        <servlet-class>ro.lsrs.couchfriends.controllers.ActionEditProfile</servlet-class>
    </servlet>
    <servlet-mapping>
       <servlet-name>action_edit_profile</servlet-name>
       <url-pattern>/action_edit_profile</url-pattern>
    </servlet-mapping>
    

    编辑:关于这个问题的可能重复,这不是同一个问题。我的问题是网址冲突(在xml和java类中设置映射)。相反,这个问题帮助我解决了这个问题。

java.lang.ClassNotFoundException: HttpServletRequest

试试这个。

tomcat 是否在没有部署应用程序的情况下启动?

事实上,正如注释中提到的,问题在于 servlet 以相同的 url 模式映射。我不得不在 web 中注释多个<servlet-mapping>块.xml才能运行服务器。

这里也回答了这个问题,其中 answerer 解释说在 web.xml 和 java 类中映射都会导致此错误。

最新更新