Я опытный программист на Java, но начинающий веб-разработчик. Я пытаюсь собрать простой веб-сервис, используя класс HttpServer
, который поставляется с JDK 1.6. Из приведенных мною примеров типичный код из метода HttpHandler
handle
будет выглядеть примерно так:
Headers responseHeaders = exchange.getResponseHeaders();
responseHeaders.set("Content-Type", "text/plain");
exchange.sendResponseHeaders(200, 0);
OutputStream responseBody = exchange.getResponseBody();
responseBody.write(createMyResponseAsBytes());
responseBody.close();
Мой вопрос: что произойдет, если я отправлю заголовок ответа, чтобы указать успех (т. Е. Код ответа 200), и, возможно, начну потоковую передачу данных, а затем возникну исключение, которое потребует отправки кода ответа "внутренняя ошибка сервера" вместе с какое-то содержание ошибки? Другими словами, какое действие я должен предпринять, учитывая, что я уже отправил частичный «успешный» ответ клиенту в тот момент, когда я столкнулся с исключением?