(組み込み) Jetty では、ResourceHandler を使用して静的ファイルを提供し、カスタム ハンドラーを使用して動的要求に応答しようとしています。このページに基づいて、次のようなセットアップを行いました。
public static void main(String[] args) throws Exception
{
Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(8080);
server.addConnector(connector);
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(false);
resource_handler.setResourceBase(".");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { resource_handler, new MyHandler() });
server.setHandler(handlers);
server.start();
server.join();
}
これは、次のように正しく機能します。
- /public/style.css など、パブリック ディレクトリ内のファイルから静的コンテンツを提供します
- /foo/bar など、パブリック ディレクトリに存在しないパスで MyHandler を実行します。
問題は、ルート パス (/) に応答して 403 が返されることです。MyHandler はこれらのリクエストに応答できますが、最初に ResourceHandler によってインターセプトされます。Jetty に MyHandler への送信/リクエストを強制する方法はありますか?
前もって感謝します!