我使用Jersey和grizzly嵌入式服务器开发了一个RESTful应用程序。多部分文件上传工作正常,但我不知道在客户端请求时如何提供上传的静态文件。
我的问题可能听起来有点普遍,但我认为我的问题也很普遍。如果有必要,我可以提供项目的详细信息,但我正在寻找一般答案。
答案 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();