buffer속성을 사용하여 buffer를 지정하면 out객체는 기본적으로 설정한 값의 크기의 버퍼를 내부적으로 사용한다. autoFlush속성은 버퍼가 가득차면 비울지(브라우저로 출력 결과를 전송함)의 여부를 지정하는 속성인데, 기본값은 true이다.
기본 buffer크기 : 8kb ;
out.flush(); //Buffer 내용을 비워라 out.clear(); //Buffer 내용을 지워라. -out.flush();와 함께 사용시 화면상 정상적으로 보이는 듯 하나, 콘솔창에서 "오류: 이미 배출되어 버린 버퍼를 폐기하려는 시도"확인됨. out.clearBuffer();
버퍼 크기 : <%=out.getBufferSize() %> 남은 크기 : <%=out.getRemaining() %> autoFlush여부 : <%=out.isAutoFlush() %>
09_01_autoFlush.jsp autoFlush
09_01_autoFlush.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- <%@ page buffer="1kb" autoFlush="true" %> --%>
<%@ page buffer="1kb" autoFlush="false" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>out객체와 buffer속성</h2>
<p>buffer속성을 사용하여 buffer를 지정하면 out객체는 기본적으로 설정한 값의 크기의 버퍼를 내부적으로 사용한다.</p>
<p>autoFlush속성은 버퍼가 가득차면 비울지(브라우저로 출력 결과를 전송함)의 여부를 지정하는 속성인데, 기본값은 true이다.</p>
<% for(int i = 0; i <1000; i++) { %>
1234
<%
// out.flush(); //Buffer 내용을 비워라
// out.clear(); //Buffer 내용을 지워라.
//out.flush();와 함께 사용시 화면상 정상적으로 보이는 듯 하나
//콘솔창에서 "오류: 이미 배출되어 버린 버퍼를 폐기하려는 시도"확인됨.
// out.clearBuffer();
}
%>
</body>
</html>
09_01_autoFlush2.jsp buffer
09_01_autoFlush2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page buffer="16kb" autoFlush="false" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>out객체의 버퍼 관련 메서드</h2>
<% for (int i = 0 ; i < 1000 ; i++){ %>
1234
<%
out.flush();
}
%>
<br>버퍼 크기 : <%=out.getBufferSize() %>Byte
<br>남은 크기 : <%=out.getRemaining() %>Byte
<br>autoFlush여부 : <%=out.isAutoFlush() %>
</body>
</html>