out 내장 객체는 웹 브라우저에 변수의 값을 출력 할 때 사용된다. 

 

하지만 JSP를 사용하면서 잘 쓸 일은 없고 보통 표현식(<%= %>)을 많이 사용한다.

 

이 책 기준으로 9장에서는 JSTL을 배우게 되는데

코드 외관상 스크립트 코드 보다는 JSTL을 쓰면 훨씬 깔끔한 코드를 볼 수가 있다.

 

1. out 내장 객체와 버퍼

out 내장 객체는 버퍼를 사용한다고 한다. 

[3] 지시어 - buffer 설명

출력되는  모든 정보는 버퍼에 먼저 저장되고 이후 웹 브라우저에 출력된다. 

 

다음은 관련한 예제 코드이다.

<%
//버퍼 내용 삭제
out.print("출력되지 않는 텍스트");	// (1) 버퍼에 저장
out.clearBuffer();				// (2) 버퍼를 비움

out.print("<h2>out 내장 객체</h2>");

//버퍼 크기 정보 확인 (3), (4)
out.print("출력 버퍼의 크기 : " + out.getBufferSize() + "<br/>");
out.print("남은 버퍼의 크기 : " + out.getRemaining() + "<br/>");

out.flush();	//버퍼 내용 출력 (5) (6)
out.print("flush 후 버퍼 크기: "+ out.getRemaining() + "<br/>");

//다양한 타입의 값 출력 (int, boolean, String) (7)
out.print(1);
out.print(false);
out.print("가");
%>

 

부가 설명

(1) out.print("출력되지 않는 텍스트");

(2) out.clearBuffer();

원래대로 실행을 했다면 "출력되지 않는 텍스트"가 출력됐을 것이다.

하지만 (2)번 메소드를 사용하게 되면서 메소드명 그대로 버퍼에 담긴 내용을 지워버렸다. 

결과적으로 (1)번은 출력되지 않게 된다.

 

(3) out.print("출력 버퍼의 크기 : " + out.getBufferSize() + "<br/>");

현재 페이지에 설정된 버퍼의 크기를 가져온다. 

page 지시어를 통해 따로 버퍼의 크기를 설정해놓지 않았기에 기본값이 될 것이다.

버퍼 크기의 기본값은 8KB이다.

 

(4), (6) out.print("남은 버퍼의 크기 : " + out.getRemaining() + "<br/>");

getRemaining() 메소드는 사용하고 남은 버퍼의 크기를 알려준다. (Remaining)

 

(5) out.flush();

flush란 buffer 안의 데이터를 목적지로 전송하고 buffer를 비우는 작업을 말한다.

buffer는 모두 채워졌을 때 flush되면서 내용을 출력하지만 필요에 따라 즉시 출력도 가능하다.

 

(7) 다양한 타입 값 출력

out.print(1);
out.print(false);
out.print('가');

out.print()로 출력할 때 기본 자료형들은 모두 가능하다. 

out.print() 말고도 out.println()도 있다. ln이란, \r\n을 끝에 추가해줬다는 차이가 있지만

이게 실제 줄바꿈 처리는 되지 않고 띄어쓰기 한 칸이 적용되는 정도이다.

 

HTML에서 줄을 바꾸기 위해서는 <br/>태그를 사용한다.

 

 

 

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

[9] 내장 객체 - exception  (0) 2022.05.30
[8] 내장 객체 - application  (0) 2022.05.28
[6] 내장 객체 - response  (0) 2022.05.25
[5] 내장 객체 - request  (0) 2022.05.24
[4] 스크립트 요소  (0) 2022.05.23

+ Recent posts