(我希望结构更好)
我正在使用@ApplicationPath(...)和一个扩展ResourceConfig的Application类(不包括web.xml中的Application):
Application.class:
@ApplicationPath("/*")
public class Application extends ResourceConfig {
public Application() {
packages("rest.resource");
}
}
的web.xml:
<web-app>
<display-name>Test App</display-name>
</web-app>
资源类:
@Path("/")
public class BaseResource {
@GET
@Path("hello")
@Produces("application/json")
@ManagedAsync
public void get(@Context ServletContext context, @Suspended final AsyncResponse asyncResponse) {
asyncResponse.resume(Response.ok().entity("{ name: 'Hello' }").build());
}
}
有一个&#34; index.html&#34; &#34; webapp&#34;中的静态资源。目录
我可以使用&#34; localhost:8080 / hello&#34;来访问资源。没有问题,但没有&#34; index.html&#34;。
我在哪里以及如何指定静态资源的位置,以便我可以访问&#34; index.html&#34;使用&#34; localhost:8080 / index.html?
更新:(根据#34; peeskillet和#34的评论;这解决了问题)
实际问题是由于使用&#34; / &#34;在@ApplicationPath中(&#34; / &#34;)。
所以,我已将Application类更改为:
@ApplicationPath("rest")
public class Application extends ResourceConfig {
public Application() {
packages("rest.resource");
}
}
我现在可以访问&#34;你好&#34;使用&#34; localhost:8080 / rest / hello。