在我奇怪的Tomcat服务器上获取RESTful Web服务?

时间:2013-02-19 16:58:37

标签: java rest tomcat

我的Tomcat服务器不像其他人那样100%,我正在尝试按照本教程进行操作:

http://www.suryasuravarapu.com/2009/02/rest-jersey-configuration-on-tomcat.html

到目前为止,我已下载:

asm-3.3.1.jar
jersey-client-1.17.jar
jersey-core-1.17.jar
jersey-server-1.17.jar

并将它们放在我的/ lib /目录中。

我的文件夹结构如下:

/WEB-INF/classes/rest/com/mkyong/HellowWorldService.class

我的web.xml定义为:

<display-name>Restful Web Application</display-name>

<servlet>
    <servlet-name>jersey-serlvet</servlet-name>
    <servlet-class>
                 com.sun.jersey.spi.container.servlet.ServletContainer
            </servlet-class>
    <init-param>
         <param-name>com.sun.jersey.config.property.packages</param-name>
         <param-value>com.mkyong.rest</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>jersey-serlvet</servlet-name>
    <url-pattern>/servlets/servlet/rest/*</url-pattern>
</servlet-mapping>

我不确定网址格式是否合适?

当我访问myserver.com/servlets/servlet/rest/hello/Eric时,我应该说泽西岛说:Eric但是我得到了HTTP状态500错误:

http://pastebin.com/iq5NDVw4

Tomcat日志说:

Feb 19, 2013 4:46:21 PM com.sun.jersey.api.core.PackagesResourceConfig init
INFO: Scanning for root resource and provider classes in the packages:
  com.mkyong.rest
Feb 19, 2013 4:46:21 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
INFO: Initiating Jersey application, version 'Jersey: 1.17 01/17/2013 04:27 PM'
Feb 19, 2013 4:46:21 PM com.sun.jersey.server.impl.application.RootResourceUriRules <init>
SEVERE: The ResourceConfig instance does not contain any root resource classes.
Feb 19, 2013 4:46:27 PM com.sun.jersey.api.core.PackagesResourceConfig init

任何帮助都很受欢迎!

编辑:

我在人物页面上找到了this article。但它没有多大意义。

2 个答案:

答案 0 :(得分:1)

对应本教程http://www.vogella.com/articles/REST/article.html#installation

  

此名称源自web.xml中定义的“display-name”   文件,用servlet-mapping url-pattern和“hello”扩充   来自类文件的@Path注释。

根据这一点,在您的情况下,display-name中的web.xml" ",并且在您用于测试的链接中未提及。

编辑: 该servlet的基本URL是:

http://your_domain:port/display-name/url-pattern/path_from_rest_class

答案 1 :(得分:0)

看看tomcat日志。也许你应该把一些jar库放在/ WEB-INF / lib或/ tomcat / lib目录下。也许有些库在运行时使用。仔细阅读tomcat日志。