스킬(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(); 를 해 주면 된다.