使用Jersey 2.0,Tomcat 8访问静态资源

时间:2015-02-08 14:13:55

标签: java rest tomcat jersey-2.0

(我希望结构更好)

我正在使用@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。

0 个答案:

没有答案