Out object

Programming/JSP 2013. 4. 13. 01:11

out 내장 객체의 기능

 

  • 웹 브라우저에 출력될 내용을 지정
  • JSP 페이지에 대한 버퍼 관리

 

 

out 내장 객체는 java.io.Writer 클래스를 상속받은 JspWriter 클래스 타입입니다.
버퍼와 관련된 clear(), clearBuffer(), close(), flush(), getBufferSize(), getRemaining(), isAutoFlush(),
출력에 관련된 newLine(), print(), println(), write() 등의 메소드를 사용할 수 있습니다.

 

jsp 페이지의 page 지시문에서 buffer 관련 속성을 지정할 수 있습니다.
<%@ page buffer="8kb" autoFlush="true" %>
이것은 입력하지 않았을 때 설정되어 있는 기본값 입니다.
autoFlush 란 지정한 버퍼의 크기가 가득찼을 때 flush(뿌려줌)할 것인지에 대한 속성입니다.
false 값을 지정할 시에는 버퍼가 가득찼을 때 예외를 발생시키고 작업이 중단됩니다.

 

 

예제1)

 

<html>
<body>
<?
out.print( out.getRemaining() );
out.close();
?>
</body>
</html>

 

버퍼 관련 속성을 지정하지 않았으므로 기본 값인 buffer="8kb" autoFlush="true" 상태입니다.
getRemaining() 메소드로 현재 남아있는 버퍼 크기를 알려줍니다.
8kb에서 <html><body> 등의 텍스트들을 뺀 크기입니다.
close() 메소드는 현재 쌓인 버퍼를 flush 하고 스트림을 닫습니다.
그 뒤의 </body></html> 은 처리되지 않을 것입니다.

 

 

예제2)

 

<html>
<body>
<?
out.clearBuffer();
out.print( out.getBufferSize() );
?>
</body>
</html>

 

clearBuffer() 메소드는 버퍼의 내용을 다 지웁니다.
<html><body> 가 버퍼에서 삭제될 것입니다.
getBufferSize() 메소드는 남아있는 버퍼 크기를 알려줍니다.
clearBuffer() 로 버퍼가 비었기 때문에 8192를 나타낼 것입니다.

 


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,