2016-12-27 4 views
-1

Ich habe eine Anwendung auf dem IBM liberty-Profil ausgeführt. Es hat auch ein Sicherheitszertifikat. Wenn ich versuche, diese Anwendung auszuführen, gibt es mir den Anmeldebildschirm, aber wenn ich versuche mich anzumelden, wird der folgende Fehler angezeigt. Könnte mir bitte jemand helfen, den Fehler zu beheben?java.lang.IllegalStateException: SRVE0199E: OutputStream bereits erhalten

[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

Gib ... uns ... Code. –

Antwort

0

Das Problem ist, dass Ihre Anwendung ruft beide getWriter() und getOutputStream() auf dem Servlet-Response-Objekt (HttpServletResponse). Pro javadoc, müssen Sie das eine oder das andere aufrufen - und eine IllegalStateException würde ausgelöst werden, wenn Sie eins aufrufen, nachdem Sie zuvor das andere aufgerufen haben.

Die Lösung zu sein, nur eine dieser Methoden zu verwenden (ich denke, getWriter() ist bevorzugt). Wenn Sie Bibliotheken von Drittanbietern (wie Spring) verwenden, die diese Methoden möglicherweise für das Servlet-Antwortobjekt aufrufen, ist es wahrscheinlich am besten, wenn Sie Ihren Code so ändern, dass er die gleiche Methode aufruft.

Hoffen, dass dies hilft, Andy

Verwandte Themen