2

这是我的 Jersey 服务,我使用 url 访问该服务

http://host:port/contextroot/welcome/data

当我将 Jersey servlet 映射到 /welcome/* 时 - 我收到 404 错误。但是当我在 web.xml 中说 /* 时,我的请求会顺利通过。我不希望我的 webapp 中的所有请求都通过球衣。如何将路径限制为仅使用 /welcome 请求?

@Path("/welcome")
public class WelcomeRestJson {

    @POST
    @Path("/data")
    @Produces("text/plain")
    @Consumes("application/json")

    public String processPostData(MyObject myObject) {
        System.out.println("Inside processPostData");
        return "success";
    }

}

4

2 回答 2

2

将 servlet 映射到 /welcome/* 时,只需将根资源 (WelcomeRestJson) 的路径模板从 @Path("/welcome") 更改为 @Path("/") - 这样相同的 URL ( http://host:port/contextroot/welcome/data) 将像以前一样工作.

于 2012-06-28T09:18:00.623 回答
0

映射到 web.xml 中的 /welcome/*:

<servlet>
    <servlet-name>ServletAdaptor</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ServletAdaptor</servlet-name>
    <url-pattern>/welcome/*</url-pattern>
</servlet-mapping>

然后,您可以在 /welcome 下调用您的 Web 服务,并在不同路径上调用其余请求。

于 2012-06-28T06:20:01.467 回答