out 내장 객체는 웹 브라우저에 변수의 값을 출력 할 때 사용된다.
하지만 JSP를 사용하면서 잘 쓸 일은 없고 보통 표현식(<%= %>)을 많이 사용한다.
이 책 기준으로 9장에서는 JSTL을 배우게 되는데
코드 외관상 스크립트 코드 보다는 JSTL을 쓰면 훨씬 깔끔한 코드를 볼 수가 있다.
1. out 내장 객체와 버퍼
out 내장 객체는 버퍼를 사용한다고 한다.
출력되는 모든 정보는 버퍼에 먼저 저장되고 이후 웹 브라우저에 출력된다.
다음은 관련한 예제 코드이다.
<%
//버퍼 내용 삭제
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 |