JSP
java.lang.IllegalStateException: getOutputStream() has already been called for this respons
질주하는구
2015. 3. 5. 09:50
java.lang.IllegalStateException: getOutputStream() has already been called for this response
JSP파일에서 getOutputStream 관련 위의 에러가 발생하는 경우
getOutputStream()을 대신해서 getWriter() 호출 해주면 해결 됩니다.
jsp는 servlet으로 변환될 때 자동적으로 write객체가 존재하는데 OutputStream 그냥 사용하는 경우 정상적으로
인식 하지 못하는 문제가 있어서 가능 하면 getWriter()을 사용하는게 좋습니다.
getOutputStream의 경우 servlet에서 사용할 수 있습니다.
유지보수 등으로 부득이 하게 해당 메소드를 사용해야 하는 경우
jsp페이지에서
아래와 같이 처리를 해주면 됩니다.
response.getWriter()
try {
out.clear(); //out--> jsp자체 객체
out=pageContext.pushBody(); //out--> jsp자체 객체
OutputStream out = response.getOutputStream();
}
이렇게 outputstream을 생성하기 전에 jsp자체의 out객체를 비워주고 사용해야 합니다.
반응형