将jetty ResourceHandler映射到URL

Lit*_*les 9 jetty embedded-jetty

是否可以使用嵌入式Jetty从目录X提供静态文件但映射到URL Y?我有静态文件存储在目录"web"下,但我希望URL类似于http://host/myapp.

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

ResourceHandler ctx = new ResourceHandler();
ctx.setResourceBase("path-to-web");
HandlerList list = new HandlerList();
list.addHandler(ctx);
...
server.setHandler(list);
Run Code Online (Sandbox Code Playgroud)

但结果是提供/web所需URL映射下的文件,而不是它们.

Joa*_*elt 20

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);
Run Code Online (Sandbox Code Playgroud)

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