繁体   English   中英

无论我做什么,TomCat7返回HTTP错误404

[英]TomCat7 returns HTTP ERROR 404 no matter what I do

在远离Java多年之后(如果有用,我迷失于.net领域),现在我发现自己在一家“ java 7”商店(被告知这不会改变),我正在尝试按照本教程进行操作在http://www.mkyong.com/webservices/jax-rs/jersey-hello-world-example/上 ,无论我做什么,无论我做什么,tomcat7都会报告一个非常快速的404错误。

在过去的几天里,我一直在Google上进行搜索-到目前为止,它的优先级仍然很低-而且我没有找到任何可以帮助我的信息。 我的同龄人都不知道这一点。 我没有防火墙,我团队中的其他所有人都使用相同的版本。 我已经尝试了多种方法,但发现的每个搜索结果都无法正常工作。

我不确定该怎么办; 目前,我被迫使用开普勒(Kepler)版本的Eclipse,因此我需要使用tomcat7在eclipse中使用它,由于这个问题,我绝对没有任何进展。

  • Eclipse:开普勒,但我无法控制的“企业化”。 aka我们必须使用它。
  • Tomcat:Tomcat7

项目是在Maven中以“ webapp”原型生成的,然后导入到eclipse中,该教程中我对这封信没有做的唯一事情是运行“ eclipse:eclipse,因为我第一次这样做是在maven中破坏了项目并在maven / eclipse无法理解的类路径中创建了一个var-type(类型:4),因此我无需运行该命令即可从头开始重做所有内容,然后将其成功导入eclipse中。

问题:我做错了什么? 我该如何调试并帮助自己?

我给人的印象是,tomcat通常具有可用于帮助调试的管理器/ UI,但即使在查看了有关tomcat的文档之后,复制并粘贴了他们说来启用它的配置,然后重新启动了tomcat服务并重新加载eclipse,无论我转到哪个url /链接,我仍然会收到404错误。

先感谢您。

我得到的唯一日志如下:

May 06, 2015 2:32:40 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Users\duking\Desktop\ride-5.1.1-win64\OpenJDK\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\RSA SecurID Token Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft Application Virtualization Client;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Common Files\Hitachi ID\;C:\Program Files (x86)\Git\cmd;C:\Program Files\TortoiseGit\bin;C:\bin;C:\Program Files\Java\jdk1.7.0_79\bin;C:\Program Files (x86)\WinMerge;c:\cygwin64\bin;c:\cygwin64\usr\bin;C:\Program Files (x86)\Nmap;.
May 06, 2015 2:32:41 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
May 06, 2015 2:32:41 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
May 06, 2015 2:32:41 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8081"]
May 06, 2015 2:32:41 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
May 06, 2015 2:32:41 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8082"]
May 06, 2015 2:32:41 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
May 06, 2015 2:32:41 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8083"]
May 06, 2015 2:32:41 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
May 06, 2015 2:32:41 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 624 ms
May 06, 2015 2:32:41 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
May 06, 2015 2:32:41 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
May 06, 2015 2:32:41 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
May 06, 2015 2:32:41 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8081"]
May 06, 2015 2:32:41 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8082"]
May 06, 2015 2:32:41 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8083"]
May 06, 2015 2:32:41 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
May 06, 2015 2:32:41 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 582 ms

我不确定这是什么,但是我设法在pom中使用这些代码进行了简单的工作:

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-server</artifactId>
    <version>1.17.1</version>
</dependency>
<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-core</artifactId>
    <version>1.17.1</version>
</dependency>
<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-servlet</artifactId>
    <version>1.17.1</version>
</dependency>

并更新我的web.xml以使用v1 xml配置:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>REST Web Application Demo</display-name>
    <servlet>
        <servlet-name>jersey-serlvet</servlet-name>

        <!-- v1 -->
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>

        <load-on-startup>1</load-on-startup>
        <init-param>

            <!-- v1 Packages Reference -->
            <param-name>com.sun.jersey.config.property.packages</param-name>
            <param-value>com.example.app</param-value>

        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>jersey-serlvet</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

但是现在可悲的是,我现在得到了一个非常不同的例外:

javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/ws/rs/MessageProcessingException
    com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420)
    com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
    com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
root cause

java.lang.NoClassDefFoundError: javax/ws/rs/MessageProcessingException
    org.apache.cxf.jaxrs.impl.ResponseBuilderImpl.build(ResponseBuilderImpl.java:69)
    com.example.app.ApiService.responseMsg(ApiService.java:27)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:606)
    com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
    com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
    com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
    com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
    com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
    com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
    com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
    com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
    com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
    com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
    com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
    com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
    com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
    com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
    com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM