Как получить HttpServletRequest или HttpServletResponse в undertow? - PullRequest
0 голосов
/ 12 апреля 2019

Я использовал undertow для разработки сети, но я не знаю, как получить HttpServletRequest и HttpServletResponse в маршруте. Я не хочу использовать объект HttpServerExchange.

Я пытался использовать

HttpServletRequest request = (HttpServletRequest) exchange.getAttachment(ServletRequestContext.ATTACHMENT_KEY).getServletRequest();

чтобы получить запрос, но он не прошел.

public class HelloServer {

  private static HttpHandler handler = new RoutingHandler()
      .get("/", HelloServer::doGet);

  private static void doGet(HttpServerExchange exchange) {
    ServletRequestContext attachment = exchange.getAttachment(ServletRequestContext.ATTACHMENT_KEY);
    System.out.println(attachment); // attachment: null
    exchange.getResponseSender().send("hello world");
  }

  public static void main(String[] args) {
    Undertow undertow = Undertow.builder()
        .addHttpListener(8080, "localhost")
        .setHandler(handler)
        .build();
    undertow.start();
  }
}

Есть ли способ получить объекты HttpServletRequest и HttpServletResponse?

...