在Tomcat中托管服务时始终获得404 Not

时间:2016-04-26 03:33:42

标签: java eclipse web-services rest tomcat

我尝试使用Eclipse(MARS),TOmcat 8.x和Jersey 2.2.2来构建Rest服务 我已经完成了很多链接,或者我自己导入了这些项目。但是当我在服务器上运行项目时,我总是找不到404。

链接:(我已下载样本)
https://github.com/kdmalviyan/RestWithJerseyExample
参考:
http://i.stack.imgur.com/yA77E.png

  

信息:至少有一个JAR被扫描用于TLD但尚未包含TLD。为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。   2016年4月26日上午9:09:21 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom   信息:使用[SHA1PRNG]创建用于会话ID生成的SecureRandom实例花费[209]毫秒。   2016年4月26日上午9:09:21 org.apache.jasper.servlet.TldScanner scanJars   信息:至少有一个JAR被扫描用于TLD但尚未包含TLD。为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。   2016年4月26日上午9:09:21 com.sun.jersey.api.core.servlet.WebAppResourceConfig init   信息:在Web应用程序资源路径中扫描根资源和提供程序类:     / WEB-INF / lib中     / WEB-INF /类   2016年4月26日上午9:09:22 com.sun.jersey.server.impl.application.WebApplicationImpl _initiate   信息:启动泽西岛申请,版本'泽西岛:1.19 02/11/2015 05:39 AM'   2016年4月26日上午9:09:23 com.sun.jersey.server.impl.application.RootResourceUriRules   SEVERE:ResourceConfig实例不包含任何根资源类。   2016年4月26日上午9:09:23 org.apache.catalina.core.ApplicationContext log   严重:StandardWrapper.Throwable   com.sun.jersey.api.container.ContainerException:ResourceConfig实例不包含任何根资源类。       at com.sun.jersey.server.impl.application.RootResourceUriRules。(RootResourceUriRules.java:99)       at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1359)       at com.sun.jersey.server.impl.application.WebApplicationImpl.access $ 700(WebApplicationImpl.java:180)       at com.sun.jersey.server.impl.application.WebApplicationImpl $ 13.f(WebApplicationImpl.java:799)       at com.sun.jersey.server.impl.application.WebApplicationImpl $ 13.f(WebApplicationImpl.java:795)       在com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)       at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795)       at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790)       在com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509)       at com.sun.jersey.spi.container.servlet.ServletContainer $ InternalWebComponent.initiate(ServletContainer.java:339)       在com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)       在com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)       在com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)       在com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)       在javax.servlet.GenericServlet.init(GenericServlet.java:158)       在org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238)       在org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1151)       在org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1038)       在org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4996)       at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)       在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)       在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1408)       在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1398)       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)       在java.lang.Thread.run(未知来源)

     

2016年4月26日上午9:09:23 org.apache.catalina.core.StandardContext loadOnStartup   严重:Web应用程序中的Servlet [Jersey Web Application] [/ CrunchifyRESTJerseyExample]抛出了load()异常   com.sun.jersey.api.container.ContainerException:ResourceConfig实例不包含任何根资源类。       at com.sun.jersey.server.impl.application.RootResourceUriRules。(RootResourceUriRules.java:99)       at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1359)       at com.sun.jersey.server.impl.application.WebApplicationImpl.access $ 700(WebApplicationImpl.java:180)       at com.sun.jersey.server.impl.application.WebApplicationImpl $ 13.f(WebApplicationImpl.java:799)       at com.sun.jersey.server.impl.application.WebApplicationImpl $ 13.f(WebApplicationImpl.java:795)       在com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)       at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795)       at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790)       在com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509)       at com.sun.jersey.spi.container.servlet.ServletContainer $ InternalWebComponent.initiate(ServletContainer.java:339)       在com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)       在com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)       在com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)       在com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)       在javax.servlet.GenericServlet.init(GenericServlet.java:158)       在org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238)       在org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1151)       在org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1038)       在org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4996)       at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)       在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)       在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1408)       在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1398)       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)       在java.lang.Thread.run(未知来源)

     

2016年4月26日上午9:09:23 org.apache.catalina.core.ApplicationContext log   信息:将servlet jersey-serlvet标记为不可用   2016年4月26日上午9:09:23 org.apache.catalina.core.StandardContext loadOnStartup   严重:Web应用程序中的Servlet [jersey-serlvet] [/ RESTfulExample]抛出了load()异常   java.lang.ClassNotFoundException:com.sun.jersey.spi.container.servlet.ServletContainer       在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)       在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)       at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:518)       在org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:499)       在org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)       在org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1102)       在org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1038)       在org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4996)       at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)       在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)       在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1408)       在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1398)       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)       在java.lang.Thread.run(未知来源)

我是否必须执行任何特殊配置才能在Tomcat 8.0上运行我的服务? 在此先感谢。

此致 学习者。

1 个答案:

答案 0 :(得分:0)

http://localhost:8080/RESTfulExample/rest/hello/World

根据您的代码点击此网址 在web.xml中,只有带有rest / *的URL将被视为rest服务,而在你的java类中,你提供了hello,之后你必须传递一些东西{param}

,您的输出将是

泽西岛说世界