JSP

JSP(buffer)

행복하게사는게꿈 2020. 6. 10. 09:37

HttpServletResponse(응답 객체)

 

 - 서버에서 클라이언트(브라우저) 대상의 응답 컨텐츠 저장 전송하는 자원

 

   출력버퍼 - 응답 컨텐츠를 저장하기 위한 응답 객체의 저장소

 


출력 버퍼 : deflaut 8kb

확인 가능, 변경가능

 


관련 메소드 

 

 1. Flush(전송) : 출력버퍼에 저장된 응답 컨텐츠의 클라이언트(브라우저) 대상 전송

 

     1) JSP 요청시 천이되는 서블릿 클래스내 _jspService() 내에서 출력대상 버퍼 대상 저장 후 메서드 종료시 Flush

 

     2) 출력버퍼의 사이즈 제한 용량까지 응답컨텐츠가 저장되어지면 해당 응답 컨텐츠를 Flush(반복가능)

 

 

 2. AutoFlush(자동 Flush) : default true

 

  - AutoFlush=false (코드를 통해 직접 Flush 처리 -> 안하면 에러가 발생)

 

* 해당 출력 버퍼 사이즈 이상의 응답컨텐츠가 저장되어지는

 

* out.flash() - 수동 전송 처리(출력 버퍼 Clear)

 

* out.clear() - Flush되지 않으며 출력버퍼만 Clear, 출력 버퍼가 1번이상 Flush 기록 존새지 에러 발생(IOException)

 

* out.clearBuffer() - Flush 되지 않으며 출력버퍼만 clear 출력버퍼의 Flush 기록 존재시에도 에러 미발생

 

 


         왜 버퍼안에 값이 있는데 Flush 시키지 않으세요? 라는 Buffer overflow 에러 발생

 

==> autoFlush = "false"로 선언해주면 직접 out.flush()를 실행해주어야 함