Могу ли я отвечать на запросы POST, используя Jetty ResourceHandler? - PullRequest
2 голосов
/ 13 августа 2011

Могу ли я отвечать на POST-запросы, используя Jetty's ResourceHandler? Если да, то как?

Для контекста, здесь приведен фрагмент настройки файлового сервера с использованием ResourceHandler из учебных пособий Jetty:

public class FileServer
{
    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(true);
        resource_handler.setWelcomeFiles(new String[]{ "index.html" });

        resource_handler.setResourceBase(".");

        HandlerList handlers = new HandlerList();
        handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
        server.setHandler(handlers);

        server.start();
        server.join();
    }
}

1 Ответ

2 голосов
/ 20 августа 2014

ResourceHandler, кажется, поддерживает только запрос GET.Это имеет смысл, поскольку ResourceHandler обслуживает только статические ресурсы (файлы, каталоги).В любом случае вход POST будет отброшен.

Мне сложно составить сценарий, в котором требуется ResourceHandler для ответа на запросы POST, но если вы действительно этого хотите, вы можете написать свойОбработчик, который оборачивается вокруг ResourceHandler и вызывает методы GET для POST-запросов.Некоторые советы о том, как это сделать, можно найти здесь: http://www.eclipse.org/jetty/documentation/current/writing-custom-handlers.html#passing-request-and-response

...