Сервлет Java и объект ответа HTTP - PullRequest
0 голосов
/ 15 марта 2011

Вопрос по объекту HttpResponse в сервлетах.Может ли содержимое HttpResponse быть прочитано только один раз?

Если это так, мне нужно использовать фильтр и некоторую форму "javax.servlet.http.HttpServletResponseWrapper", чтобы читать содержимое объекта HttpResponse какМне нужно прочитать его содержимое, чтобы получить XML / JSON из ответа?В данный момент я получаю следующее исключение, когда иду читать объект HttpResponse.

     Content has been consumed
at org.apache.http.entity.BasicHttpEntity.getContent(BasicHttpEntity.java:84)

Спасибо, Джон

Ответы [ 2 ]

1 голос
/ 15 марта 2011

Это не проблема на стороне сервера / сервлета.Это проблема на стороне клиента.Сервлет не отправляет объект HttpServletResponse клиенту или что-то еще, он просто отправляет поток байтов только один раз.Вам просто нужно прочитать его только один раз в повторно используемый объект, такой как byte[] или String, в зависимости от фактического содержимого, а затем повторно использовать / скопировать именно этот объект в остатке кода.

0 голосов
/ 15 марта 2011

Хотите прочитать содержание ответа или запроса?Обычно мы пишем содержание ответа и не читаем его, если у вас нет особого случая здесь.

...