小编cat*_*tox的帖子

未找到 Jersey REST webservice 子资源

起初在我的 Web 服务器中,我只有一个 REST servlet。就像是:

@Path("/")
public class Controller {
  @GET
  @Produces({ MediaType.TEXT_HTML })
  public Response get(@Context UriInfo info) throws Exception {
    ...
  }

  @GET
  @Path("resource1")
  @Produces({ MediaType.TEXT_HTML })
  public Response resource1() throws Exception {
    ...
  }

  ...

 }
Run Code Online (Sandbox Code Playgroud)

和 web.xml:

 <servlet>
    <servlet-name>rest</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>xpto.mypack1;xpto.mypack2</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>rest</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

但是后来我想向服务器添加一些静态 html,所以我将 servlet 映射更新为 /rest/*

和控制器 servlet 类的 @Path 指令从“/”到“/rest”。一切正常,但带有@path 指令的控制器的子资源或方法停止工作.. 即:

  • / 工作正常,因为我在根目录下有一个 index.html 页面
  • /rest 工作正常,它调用我的 servlet 的 get 方法
  • /rest/resource1 返回 404 http …

java rest web-services jersey

4
推荐指数
1
解决办法
9169
查看次数

标签 统计

java ×1

jersey ×1

rest ×1

web-services ×1