9

埋め込み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);

しかし、その結果/web、目的のURLマッピングの下で​​はなく、下でファイルが提供されます。

4

2 に答える 2

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);

これは/my-files、ファイルシステムのResourceHandlerコンテンツとして機能しますpath-to-web

于 2013-02-19T16:17:24.423 に答える
2

上記はJetty9では機能しませんが、これは機能します。

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

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

server.setHandler(contextHandler);
于 2015-01-05T18:51:18.733 に答える