junior
Для чего нужен интерфейс ServletResponse
ServletResponse — это интерфейс для отправки данных клиенту в ответ на запрос. Он предоставляет методы для управления содержимым ответа, кодировкой, типом контента и потоками вывода.
Основные методы
| Метод | Назначение |
|---|---|
getOutputStream() |
Возвращает байтовый поток для отправки бинарных данных |
getWriter() |
Возвращает символьный поток для отправки текстовых данных |
setContentType(String) |
Устанавливает MIME-тип ответа (например, text/html, application/json) |
setCharacterEncoding(String) |
Устанавливает кодировку ответа |
setContentLength(int) |
Задаёт значение заголовка Content-Length |
setLocale(Locale) |
Устанавливает локаль документа |
reset() |
Сбрасывает заголовки к значениям по умолчанию (если ответ ещё не отправлен) |
Подкласс HttpServletResponse расширяет эти возможности методами для работы с HTTP: установка статус-кодов (setStatus()), управление заголовками (setHeader(), addHeader()), перенаправления (sendRedirect()), добавление cookies (addCookie()).
На собеседовании: важно упомянуть, что нельзя одновременно использовать
getWriter()иgetOutputStream()— будетIllegalStateException. Нужно выбрать один поток в зависимости от типа данных.