2012년 10월 12일 금요일

[JSP] getOutputStream() has already been called for this response 문제



jsp 파일에서 response.getOutputStream() 을 부르는 경우 아래와 같은 Exception 이 발생할 수 있다.
getOutputStream() has already been called for this response

이유는 하나의 jsp 파일에서 getWriter() 와 getOutputStream() 를 동시에 부를 수는 없기 때문이다.

getWriter() 함수는 jsp 내부적으로 html 을 렌더링 할 때 호출 된다.
 - Tomcat 서버의 경우 만약에 개행 문자없이 오로지 java 코드 파트로만 구성된 jsp 라면 getOutputStream() 함수를 사용할 수 있었다.
 - 하지만 서버 마다 다를 수 있으므로 확인해 봐야 할 것이다.

!) 개행 문자를 아래와 같이 주석을 이용하여 제거하는 방법도 생각해 볼 수 있다.
<% ... %><%--
--%><%
...
%>

댓글 없음:

댓글 쓰기