Во (встроенном) 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
- Запускает MyHandler по путям, отсутствующим в общем каталоге, например /foo/bar
Проблема в том, что я получаю 403 в ответ на корневой путь (/). MyHandler способен отвечать на эти запросы, но сначала их перехватывает ResourceHandler. Есть ли способ заставить Jetty отправлять/запрашивать MyHandler?
Заранее спасибо!