我在试图获得resteasy服务时得到404

时间:2014-05-12 12:10:52

标签: java tomcat7 resteasy

我已下载源代码并尝试从其他客户端访问它但我收到404错误。 当我测试我的本地服务器时,我得到200 OK。 我错过了什么?有人可以解释一下调用服务的步骤吗? 以下是该项目的详细信息:

Web.xml中

    <web-app id="WebApp_ID" version="2.4"
        xmlns="http://java.sun.com/xml/ns/j2ee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        <display-name>Restful Web Application</display-name>

        <!-- Auto scan REST service -->
        <context-param>
            <param-name>resteasy.scan</param-name>
            <param-value>true</param-value>
        </context-param>

        <!-- this need same with resteasy servlet url-pattern -->
        <context-param>
            <param-name>resteasy.servlet.mapping.prefix</param-name>
            <param-value>/rest</param-value>
        </context-param>

        <listener>
            <listener-class>
                org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
            </listener-class>
        </listener>

        <servlet>
            <servlet-name>resteasy-servlet</servlet-name>
            <servlet-class>
                org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
            </servlet-class>
        </servlet>

        <servlet-mapping>
            <servlet-name>resteasy-servlet</servlet-name>
            <url-pattern>/rest/*</url-pattern>
        </servlet-mapping>

    </web-app>

服务类

package com.mkyong.rest;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;



    @Path("/message")
    public class MessageRestService {

        @GET
        @Path("/{param}")
        public Response printMessage(@PathParam("param") String msg) {

            String result = "Restful example : " + msg;

            return Response.status(200).entity(result).build();

        }

    }

1 个答案:

答案 0 :(得分:0)

使用以下网址调用上述服务配置:

GET http://{host}:{port}/rest/message/{parameter}

此url模式的一个示例是(请记住,您的主机名和端口可能会有所不同,具体取决于您运行示例的方式):

GET http://localhost:8080/rest/message/my+message

上面的网址假设您的应用程序的网络上下文根目录为/。您尚未提供运行配置,因此我无法确定您使用的上下文根。上下文根是应用程序的基本URL。

如果您的上下文根与/不同,则您的网址将如下所示:

GET http://{host}:{port}/{context root}/rest/message/{parameter}

我相信mykong示例他在他的maven配置中使用RESTfulExample作为上下文根。这意味着网址将是:

GET http://localhost:8080/RESTfulExample/rest/message/my+message