page 디렉티브는 autoFlush 속성을 제공하고 있으며, 이속성을 사용하면 버퍼가 다 찼을 경우 AutoFlush가 treu이면
- 버퍼가 다 찾을 경우 버퍼를 플러시하고 계속해ㅔ서 작업을 진행한다.
AutoFlush가 false 이면
- 버퍼가 다 찼을 경우 예외를 발생시키고 작업을 중지한다.
//autoFlush 의 값이 false, ture값에 따른 에런 메시지 출력
<예제>
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page buffer="1kb" autoFlush="false" %>
<%
for(int i=0; i<=1000; i++){
%>
1234
<%
}
%>
<err_code>
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /autoFlush.jsp at line 6 3: 4: <% 5: for(int i=0; i<=1000; i++){ 6: %> 7: 1234 8: <% 9: } Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:404) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.io.IOException: Error: JSP Buffer overflow org.apache.jasper.runtime.JspWriterImpl.bufferOverflow(JspWriterImpl.java:165) org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:328) org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:342) org.apache.jsp.autoFlush_jsp._jspService(autoFlush_jsp.java:59) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.