使用grizzly嵌入式服务器提供上传的静态文件

时间:2014-10-09 14:43:42

标签: grizzly

我使用Jersey和grizzly嵌入式服务器开发了一个RESTful应用程序。多部分文件上传工作正常,但我不知道在客户端请求时如何提供上传的静态文件。

我的问题可能听起来有点普遍,但我认为我的问题也很普遍。如果有必要,我可以提供项目的详细信息,但我正在寻找一般答案。

1 个答案:

答案 0 :(得分:2)

以下是添加静态和动态请求处理的示例:

ResourceConfig rc = new ResourceConfig().register(TestResource.class);
URI jerseyAppUri = UriBuilder.fromUri("http://0.0.0.0/api")
        .port(8080).build();

// Jersey app at http://localhost:8080/api/...
HttpServer httpServer = GrizzlyHttpServerFactory.createHttpServer(
        jerseyAppUri, rc, false);

// Static content handler at http://localhost:8080/static/...
httpServer.getServerConfiguration().addHttpHandler(
        new StaticHttpHandler("/home/user1/myapp/www/"), "/static");

// Dynamic content handler at http://localhost:8080/dynamic
httpServer.getServerConfiguration().addHttpHandler(
    new HttpHandler() {
            @Override
            public void service(Request request, Response response) throws Exception {
                response.getWriter().write("Hello World!");
            }
    }, "/dynamic");

httpServer.start();