как получить http-соединение в любом контейнере j2ee

#servlets #jakarta-ee

#сервлеты #джакарта-ee

Вопрос:

традиционным способом обработки http-запроса в j2ee является создание сервлета и получение запроса HttpServletRequest. Контейнер разблокирует http-соединение после doGet / doPost.

Мне нужен способ получить соединение, и после завершения обработки метода контейнер не будет закрывать http-соединение, отделяя соединение от потока. Таким образом, я могу управлять этим соединением и определять время для отправки ответа.

Извините за мой плохой английский ^_^

Ответ №1:

Вы можете использовать async сервлеты.Затем вы можете отсоединить объекты запроса и ответа и управлять ими самостоятельно. Вы можете сделать сервлет асинхронным с помощью:

  • аннотация: @WebServlet(urlPatterns={"/asyncservlet"}, asyncSupported=true)
  • web.xml:
     < servlet>
         < description>xxx</description>
         < servlet-name>xxx</servlet-name>
         < servlet-class>com.xxx.yyy</servlet-class>
         < async-supported>true</async-supported> 
    < /servlet>
     

Отсоединение происходит при запуске асинхронного контекста для объекта запроса. Смотрите связанный учебник по oracle

Комментарии:

1. Большое спасибо, это то, что я хочу ^^