스킬(skills)/자바(Java)

[JSP] getOutputStream() has already been called for this response 에러 발생 시

후바스탱크 2016. 6. 21. 11:04

JSP 파일에서  Download 를 구현하거나 유사한것을 구현할 때 발생하는 에러가 있다.

먼저 JSP에서 기본적으로  out  이라는 변수가 선언되어 있는데 JspWriter 이다.

그런데 OutputStream os = response.getOutputStream(); 와 같이 정의하게 되면 다음과 같은 에러가 발생한다.

java.lang.IllegalStateException: getOutputStream() has already been called for this response

이럴때는 JspWriter 인 out.clear(); 를 OutputStream os = response.getOutputStream(); 하기 전에 먼저 해 주면 된다.

만약 OutputStream os = response.getOutputStream();  부분이 별도의 메소드에 구현되어 있다면 해당 메소드를 호출하기 

직전에 out.clear(); 를 해 주면 된다.


출처 - http://www.omnibuscode.com/board/board_java/6465