起初在我的 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 指令的控制器的子资源或方法停止工作.. 即: