웹개발/HTML

JSP 시작하기 ( 출력버퍼 / 플러쉬 )

에르소 2014. 3. 28. 00:41
반응형

JSP (필수 이해 요소) // 출력버퍼, 플러쉬

 

[출력버퍼]

JSP 페이지가 생성하는 출력 내용을 곧바로 웹에 전송하지 않고, 버퍼에 저장했다가 한꺼번에 전송함으로써 생기는 장점

1. 데이터 전송 성능 향상

2. JSP 실행도중 버퍼를 지우고 새로운 내용을 보여줄 수 있다.

3. 버퍼가 다 차기 전까지는 헤더를 변경 가능하다.

 

버퍼의 기본크기

버퍼의 기본크기가 “8kb" 인 이유는, 웹 어플리케이션이 만들어내는 출력 결과가 대부분 ”8kb“ 이내며

“8kb” 일 때 평균적으로 가장 높은 성능을 보여주기 때문

 

<%@ page buffer="8kb" %>

버퍼의 크기를 8kb로 지정하기

buffer의 속성에서 kb를 붙이지 않으면, jsp페이지를 자바 코드로 변환하는 과정에서 에러 발생

 

<%@ page buffer="none" %>

버퍼를 사용하고 싶지 않을때는 “none" 지정

 

buffer“none" 지정했을때는, 몇가지 기능을 사용하는데 제한이 따름

1. <jsp:forward> 기능 사용 불가능

2. 곧바로 전송되기 때문에 출력한 내용을 취소 불가

 

[플러시(flush)]

버퍼가 다 찼을 때, 버퍼에 쌓인 데이터를 실제로 전송 되어야 할 곳에 전송하고 버퍼를 비우는 것

true - 버퍼가 다 찼을 경우 버퍼를 플러시 하고 계속해서 작업을 진행한다.

flase - 버퍼가 다 찼을 경우 예외를 발생시키고 작업을 중지

 

[예제 1번]

 

autoFlushFalse.jsp

<%@ page contentType = "text/html; charset=euc-kr" %>

<%@ page buffer="1kb" autoFlush="false" %>

<html>

<head><title> autoFlush 속성값 flase 예제 </title></head>

<body>

<% for (int I = 0; I < 1000; I++) { %

1234

<% } %>

</body>

</html> 

 <% for (int I = 0; I < 1000; I++) { %

1234

<% } %> 라인에서는 4KB 이상의 데이터가 생성된다.

또한 속성의 값이 "flase" .jsp를 실행할때 "에러" 가 발생된다.

 

autoFlushTrue.jsp

<%@ page contentType = "text/html; charset=euc-kr" %>

<%@ page buffer="1kb" autoFlush="true" %>

<html>

<head><title> autoFlush 속성값 true 예제 </title></head>

<body>

<% for (int I = 0; I < 1000; I++) { %>

1234

<% } %>

</body>

</html>

 

속성의 값이 "true" 일때는, jsp를 실행할 때 "에러" 가 발생하지 않는다.

 

 

반응형

'웹개발 > HTML' 카테고리의 다른 글

JSP 시작하기 2  (0) 2014.03.29
JSP 시작하기  (0) 2014.03.29
[C, C++ 통합] C++ Funtion Overloading (함수의 오버로딩)  (0) 2014.03.21
[C, C++ 통합] 2014.03.21 (C++ 포함 1)  (0) 2014.03.21
[C, C++ 통합] 8일차  (0) 2014.03.17