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 |