getOutputStream() 오류
- 작성자 :
- 예*의
- 작성일 :
- 2023-01-26 10:23:23
- 조회수 :
- 7,014
- 구분 :
- 공통컴포넌트 / 3.5
- 진행상태 :
- 완료
Q
1월 26, 2023 10:14:04 오전 org.apache.catalina.core.ApplicationDispatcher invoke
심각: Servlet.service() for servlet [jsp] threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:624)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:211)
at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:109)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:118)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:111)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:176)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:120)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:75)
at org.apache.jsp.WEB_002dINF.jsp.mom.cmmn.egovError_jsp._jspService(egovError_jsp.java:211)
...
EgovFileMngController의 /cmm/fms/selectFileInfs.do와 EgovImageProcessController의 /cmm/fms/getImage.do를 통해 이미지 미리보기 기능을 구현하였는데요
jsp에서는 다음과 같은 코드를 사용하였습니디
<img src='<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${fileVO.atchFileId}"/>&fileSn=<c:out value="${fileVO.fileSn}"/>' width="auto" alt="해당파일이미지"/>
<c:import url="/cmm/fms/selectImageFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.atchFileId}" />
</c:import>
기능은 정상 작동하나 에러가 계속 출력되고 있습니다
검색을 해보니 out객체와 충돌이 나서 그렇다고 하길래
jsp에서 out.clear() 같은 조치를 취해보니 해당 이미지 출력은 물론 이후 html 소스가 적용이 안되고 있습니다.
디버깅 툴을 통해 java에서 flush()와 close()가 정상적으로 되는 것을 확인하였습니다
에러가 나는 위치는
1번 이미지호출 -> write -> fluse -> close -> 에러 -> 2번이미지호출 -> write -> flush -> close -> 에러 -> ..
인것을 보아 jsp에서 나는 에러인것같습니다
심각: Servlet.service() for servlet [jsp] threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:624)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:211)
at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:109)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:118)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:111)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:176)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:120)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:75)
at org.apache.jsp.WEB_002dINF.jsp.mom.cmmn.egovError_jsp._jspService(egovError_jsp.java:211)
...
EgovFileMngController의 /cmm/fms/selectFileInfs.do와 EgovImageProcessController의 /cmm/fms/getImage.do를 통해 이미지 미리보기 기능을 구현하였는데요
jsp에서는 다음과 같은 코드를 사용하였습니디
<img src='<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${fileVO.atchFileId}"/>&fileSn=<c:out value="${fileVO.fileSn}"/>' width="auto" alt="해당파일이미지"/>
<c:import url="/cmm/fms/selectImageFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.atchFileId}" />
</c:import>
기능은 정상 작동하나 에러가 계속 출력되고 있습니다
검색을 해보니 out객체와 충돌이 나서 그렇다고 하길래
jsp에서 out.clear() 같은 조치를 취해보니 해당 이미지 출력은 물론 이후 html 소스가 적용이 안되고 있습니다.
디버깅 툴을 통해 java에서 flush()와 close()가 정상적으로 되는 것을 확인하였습니다
에러가 나는 위치는
1번 이미지호출 -> write -> fluse -> close -> 에러 -> 2번이미지호출 -> write -> flush -> close -> 에러 -> ..
인것을 보아 jsp에서 나는 에러인것같습니다
환경정보
-
- OS 정보 :
- 표준프레임워크 버전 :
- JDK(JRE) 정보 :
- WAS 정보 :
- DB 정보 :
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터입니다.
커스텀 및 올려주신 애러내용만으로는 정확하게 파악하는데 어려움이 있습니다.
java.lang.IllegalStateException: getOutputStream() has already been called for this response를 보면
말씀하신대로 내부적으로 생긴 out 객체와 이후에 생성되는 out과 충돌이 나타나서 이미 호출되었다는 메시지가 나타나는 것으로 보입니다.
다음을 참고하여 진행해보시길 바랍니다.
https://chanchan-father.tistory.com/417
커스텀을 하셨다면 추가되거나 수정된 부분을 별도 검토하셔야 할 듯 합니다.
감사합니다.
표준프레임워크센터입니다.
커스텀 및 올려주신 애러내용만으로는 정확하게 파악하는데 어려움이 있습니다.
java.lang.IllegalStateException: getOutputStream() has already been called for this response를 보면
말씀하신대로 내부적으로 생긴 out 객체와 이후에 생성되는 out과 충돌이 나타나서 이미 호출되었다는 메시지가 나타나는 것으로 보입니다.
다음을 참고하여 진행해보시길 바랍니다.
https://chanchan-father.tistory.com/417
커스텀을 하셨다면 추가되거나 수정된 부분을 별도 검토하셔야 할 듯 합니다.
감사합니다.