2016-12-27 7 views
-1

Я запускал приложение в профиле ibm liberty. Он также имеет сертификат безопасности. Когда я пытаюсь запустить это приложение, он дает мне экран входа в систему, но когда я пытаюсь войти в систему, это вызывает ошибку follwing. Может кто-то, пожалуйста, помогите мне исправить ошибку?java.lang.IllegalStateException: SRVE0199E: OutputStream уже получен

[ERROR] SRVE0777E: Exception thrown by application class 'com.ibm.ws.webcontainer.srt.SRTServletResponse.getWriter:813' 
java.lang.IllegalStateException: SRVE0199E: OutputStream already obtained 

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: SRVE0199E: OutputStream already obtained 
+1

Дайте нам ... код. –

ответ

0

Проблема заключается в том, что ваше приложение звонит и getWriter() и getOutputStream() на объекте ответа сервлета (HttpServletResponse). По javadoc вы должны позвонить одному или другому - и исключение IllegalStateException будет выбрано, если вы вызовете его после вызова другого.

Решение состоит в том, чтобы использовать только один из этих методов (я думаю, предпочтительнее использовать getWriter()). Если вы используете сторонние библиотеки (например, Spring), которые могут вызывать эти методы в объекте ответа сервлета, то ваш лучший способ действий, вероятно, заключается в изменении вашего кода, чтобы вызвать тот же метод, что и они.

Надеюсь, это поможет, Энди