ObjectOutputStream
используется для сериализации «произвольных» объектов Java в двоичный формат данных, который легко прочитать из другой программы Java с помощью ObjectInputStream
.Похоже, вместо того, чтобы делать это, вы просто хотите вывести некоторый текст.Самый простой способ сделать это:
OutputStream stream = response.getOutputStream();
stream.write(expl.getBytes("UTF-8"));
Если у вас было больше текста для записи, вы могли бы использовать Writer вместо этого:
OutputStream stream = response.getOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(stream, "UTF-8");
writer.write(expl);
writer.flush(); // flush text data from writer to stream
Выходной поток предназначен для отправкипроизвольные двоичные данные, которые могут быть или не быть тем, что вы хотите.Выше поток остается открытым, так что вы можете добавить больше данных после текста.Если весь ваш вывод - текст, вы можете также установить тип контента на text/plain
и использовать вместо него пишущий писатель response
:
response.setCharacterEncoding("UTF-8");
PrintWriter writer = response.getWriter();
writer.write(expl);
Обратите внимание, что писатели и потоки автоматически закрываются сетьюконтейнер, так что вам не придется делать это самостоятельно.