Подтвердить что ты не робот

Установка строки в теле httpResponse

Мне нужна одна помощь в моем текущем развитии. В одном из требований говорится:

Сервер вернет 200-OK в качестве ответа (httpresponse).

Если эксперт проверяется, то в результате сервер также должен верните идентификатор участника этого участника.

Сервер поместит идентификатор участника в тело 200-OK ответ следующим образом:

<tdcp>

<cmd>

   <ack cmd="Init">

      <panelistid>3849303</panelistid>

   </ack>

</cmd>

Теперь, что я могу сделать, я могу поместить httpresponse как

httpServletResponse.setStatus(HttpServletResponse.SC_OK);

И я могу положить String responseToClient= "<tdcp><cmd><ack cmd="Init"><panelistid>3849303</panelistid></ack></cmd></tdcp>";

Теперь, что означает, что указанный выше xml внутри тела ответа 200-OK и как его можно достичь?

Пожалуйста, помогите мне,

Заранее спасибо

4b9b3361

Ответ 1

Вы можете написать XML непосредственно в ответ следующим образом:

В этом примере используется ServletResponse.getWriter(), который является PrintWriter для записи строки в ответ.

String responseToClient= "<tdcp><cmd><ack cmd="Init"><panelistid>3849303</panelistid></ack></cmd></tdcp>";

httpServletResponse.setStatus(HttpServletResponse.SC_OK);
httpServletResponse.getWriter().write(responseToClient);
httpServletResponse.getWriter().flush();
httpServletResponse.getWriter().close();

Ответ 2

Вам просто нужно получить выходной поток (или вывод записи) ответа сервлета и записать на него. Подробнее см. ServletResponse.getOutputStream() и ServletResponse.getWriter().

(Или просто прочитайте любой учебник сервлета - без возможности включать данные в тела ответа, сервлеты будут бесполезны:)

Ответ 3

Если это означает, что XML уже испортил вам вещи, изменив символ кавычки атрибута на " вместо ".

Стоит взглянуть на JAXP, если вы хотите сгенерировать XML с помощью Java. Запись строк с помощью < и т.д. В них не будет масштабироваться, и вы столкнетесь с проблемами с кодировками символов, отличных от ASCII.