is Data.

JSP out 기본(내장)객체

1.out 기본객체

 

JSP페이지가 생성하는 모든 내용은 out 기본객체를 통해서 전송된다. 일반적인 HTML 또는 텍스트 뿐만 아니라

표현식도 out 기본객체에 전달된다.

out.println("");
out.println("");
….
out.println("HelloWorld!!");

실제로 HTML 기본태그를 사용하는 것은 위와 같이 out 기본객체를 통해 출력하는 것과 동일한 것이다.

JSP 생성하는 모든 데이터는 out 기본 객체를 통해서 출력된다 하였다. 이 out기본객체는 스크립트릿 안에서도

사용할 수 있다.

<%
out.println("Hello");
%>

위와 같이 out 객체를 사용하는 것이 가능하다.

하지만 실질적으로 위처럼 out 기본객체를 사용하는 경우는 거의 없다.

<% if( name == "hyun" ) { %>
<%= StringA %>
<% } else if (name == "lee" ) { %>
<%= StringB %>
<% } %>
 
// out기본객체를 사용하는 경우
 
<%
if( name == "hyun" ) {
 out.println(StringA);
} else if ( name == "lee" ) {
 out.println(StringB);
}
%>

위 경우처럼 표현식과 스크립트릿이 섞여있는 경우 out 기본객체를 사용하면 코드가 훨씬 보기 좋고

간편해짐을 알 수 있다. 하지만 실질적으로 out기본객체를 사용하는 경우는 거의 없으면 좋은 방법이 아니다.

 

 

1-2.out 기본객체의 출력 메서드 : 

  1. print() – 데이터를 출력
  2. println() – 데이터를 출력하고, \r\n(또는 \n)을 출력
  3. newline() - \r\n(또는 \n)을 출력

 

 

1-3.out 기본 객체와 버퍼의 관계

 

page 디렉티브의 buffer 속성은 실제로는 out기본객체가 내부적으로 사용하고 있는 버퍼이다.

버퍼를 생성하면 out기본객체가 사용하는 버퍼가 된다.

<%@ page contentType = "text/html; charset=euc-kr" %>
<%@ page buffer="8kb" autoFlush="false" %>

<head><title>버퍼 정보</title></head>

 
버퍼 크기: <%= out.getBufferSize() %> <br>
남은 크기: <%= out.getRemaining() %> <br>
auto flush: <%= out.isAutoFlush() %> <br>

<%= out.clear() %> : 버퍼의 내용을 비움 이미 flush된 경우 IOException 발생
<%= out.clearBuffer() %> : clear() 메서드와 동일하지만 flush 되었어도 IOException 발생안함.
<%= out.flush() %> : 버퍼를 플러시


위처럼 out기본객체는 기본적으로 buffer에 관련된 메서드를 제공한다. isAutoFlush() 메서드는 page디렉티브에서

autoFlush를 설정했는지의 여부를 확인하는 메서드이며, boolean값을 return 한다.

'web > jsp' 카테고리의 다른 글

JSP application 기본(내장)객체  (0) 2014.09.08
JSP pageContext 기본(내장)객체  (0) 2014.09.08
JSP 버퍼[Buffer] 와 응답  (0) 2014.09.08
JSP response 기본객체의 응답 정보  (0) 2014.09.08
JSP 요청 헤더 정보의 처리  (0) 2014.09.06