这是我的泽西服务,我使用网址
访问该服务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";
}
}
答案 0 :(得分:2)
将servlet映射到/ welcome / *只需将根资源(WelcomeRestJson)的路径模板从@Path(“/ welcome”)更改为@Path(“/”) - 这样就是相同的URL({{ 1}})将像以前一样工作。
答案 1 :(得分: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服务,并在不同的路径上调用其余的请求。