地图码头ResourceHandler到URL(Map jetty ResourceHandler

2019-08-17 01:55发布

是否可以使用嵌入的Jetty服务从目录X静态文件,但映射到URL Y' 我有目录下的“网络”存储静态文件,但我想要的网址是这样http://host/myapp

我已经成功地跑了配置的服务器ResourceHandler以下列方式:

ResourceHandler ctx = new ResourceHandler();
ctx.setResourceBase("path-to-web");
HandlerList list = new HandlerList();
list.addHandler(ctx);
...
server.setHandler(list);

但结果是服务下的文件/web下所需的URL映射,而不是。

Answer 1:

该ResourceHandler没有上下文配置的,但你可以简单地把它包装ContextHandler中来实现这一目标。

试试这个:

ContextHandler ctx = new ContextHandler("/my-files"); /* the server uri path */
ResourceHandler resHandler = new ResourceHandler();
resHandler.setResourceBase("path-to-web");
ctx.setHandler(resHandler);
server.setHandler(ctx);

这将有助于/my-files作为文件系统的ResourceHandler内容path-to-web



Answer 2:

上述不适用于码头9工作,但这样做:

ContextHandler contextHandler = new ContextHandler("/my-files");
contextHandler.setResourceBase("/tmp/static");

ResourceHandler resourceHandler = new ResourceHandler();
contextHandler.setHandler(resourceHandler);

server.setHandler(contextHandler);


文章来源: Map jetty ResourceHandler to a URL