首先在我的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 {
...
}
...
}
和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>
但后来我想在服务器上添加一些静态html,所以我将servlet映射更新为 /休息/ *
和Controller servlet类的@Path指令从“/”到“/ rest”。一切正常,但控制器的子资源或方法与@path指令停止工作..即:
有任何帮助吗?我已经尝试了每个@Path指令之前和之后的组合列表,没有成功......非常感谢
一次更新:
我使用了trace util并获得了以下结果:
/ [app-name] / rest(可行):
/ [app-name] / rest / resource1(它不起作用):
我希望有人帮助我......