◆ 버퍼 (Buffer) > MODEL

본문 바로가기
사이트 내 전체검색

MODEL

◆ 버퍼 (Buffer)

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 411회 작성일 21-07-15 18:48

본문

jsp 페이지는 생성된 결과를 곧바로 브라우저에 전송하지 않고 출력버퍼라고 불리는 곳에 임시로 출력 결과를 저장해 두었다가,

한번에 웹 브라우저에 전송한다.



1. 출력버퍼를 사용하는 이유


1) 작은 데이터를 여러 번 전송하는 것 보다 한번 큰 데이터를 정송하므로 전송 성늘이 향상된다,.

2) 응답결과가 바로 전송되지 않기 때문에 JSP 실행 도중 출력버퍼를 지우고 새로운 내용을 보여줄 수 있다.

- 응답결과를 생성하는 도중 에러가 발생했을 시 출력버퍼를 비우고 에러페이지를 출력할 수 있도록 할 수 있다.

3) 버퍼가 다 차기 전까지는 헤더를 변경할 수 있다.

- 출력된 이후에는 더 이상 헤더정보를 수정할 수 없다.


2. page 디렉티브에서 버퍼 설정하기


buffer를 설정하는 방법


<%@ page buffer="8kb" %> <!-- kb를 붙이지 않으면 에러 발생 -->

<!-- 또는 -->

<%@ page buffer="none" %> 


1) buffer  크기를 8kb 로 지정해서 buffer를 사용하기로 명시되어 있다.

속성을 지정하지 않으면 기본값으로 8kb가 지정된다.

JSP 규약에서 기본값으로 최소 8kb이상의 크기를 갖는 버퍼를 사용하도록 규정

그 이유는 대부분 어플리케이션이 만들어 내는 출력 결과가 8kb 이고, 8kb 에서 가장 이상적인 성능을 보이기 때문이다.


2) buffer를 사용하지 않도록 설정하는 내용이다.

buffer를 사용함으로써 얻는 모든 이점을 사용할 수 없고

<jsp:forward> 기능을 사용할 수 없게 된다.

<jsp:forward> 액션태그는 지정한 경로로 요청을 이동시키는 기능이다. 


3. buffer 의 autoFlush 속성


buffer 는 autoFlush 속성이 지정되지 않은 경우 기본적으로 autoFlush 를 true 로 설정해서 적용되어 있다.

이는 출력버퍼에 데이터가 꽉차게 되면 자동으로 flush 하여 브라우저에 결과를 출력하고 버퍼를 비운 후 계속해서 결과를 버퍼에 쌓아가도록 하는 기능이다.


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

<!-- 또는 -->

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


위처럼 autoFlush 를 설정할 수 있는데 autoFlush를 false로 설정한 경우 출력버퍼가 꽉차게 되면 에러가 발생하게 된다.

반면 true 인 경우 출력버퍼가 꽉차면 자동으로 응답결과를 브라우저로 출력(Flush)하게 되므로 에러가 발생하지 않는다.

추천0

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

공지사항
자유게시판
질문답변
1:1문의

 

별명 : 터푸가위
주소 : 부산시 동래구 명장로20번길 90
대표 : 박규태
메일 : dancepkt@******.com

접속자집계

오늘
116
어제
167
최대
10,760
전체
264,842
Copyright © dancePKT . All rights reserved.