[JSP] 5.2 기본 객체: out

2022. 4. 7. 22:28JAVA/Servlet&JSP

JSP 페이지가 생성하는 내용은 모든 out 기본 객체를 통해서 전송됩니다.

 

예를 들어 다음과 같은 jsp 파일이 있다고 가정합니다.

위의 jsp 파일을 변환하여 java 소스코드로 변환하면 다음과 같습니다.

위 소스코드에서 주목할점은 jsp파일에 작성된 태그(html, body 등) 등의 요소가 out 기본 객체의 write 메서드의 파라미터로 들어가 있는 것을 볼 수 있습니다.

 

위의 경우만이 아니라 JSP 페이지의 스크립트릿에서도 직접 out 기본객체를 사용하여 출력할 수 있습니다.

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
	out.println("안녕하세요?");
%>
<br>
out 기본 객체를 사용하여
<%
	out.println("출력한 결과입니다.");
%>

</body>
</html>

 

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

  • print() - 데이터를 출력
  • println() - 데이터를 출력하고, \r\n(또는 \n)을 출력
  • newLine() - \r\n(또는 \n)을 출력

print(), println() 메서드를 사용하여 출력할 수 있는 값은 boolean, char, char[], double, float, int, long과 같은 기본 데이터 타입과 String이 있습니다.

 

2. out 기본 객체와 버퍼의 관계

  • JSP 페이지가 사용하는 버퍼는 실제로는 out 기본 객체가 내부적으로 사용하고 있는 버퍼이다.
  • 아래와 같이 page 디렉티브의 buffer 사이즈를 16kb로 설정하면 out 기본 객체가 내부적으로 사용하는 버퍼의 크기가 16kb가 된다.
<%@ page buffer="16kb" %>

 

out 기본객체의 버퍼와 관련된 메서드

메서드 리턴 타입 설명
getBufferSize() int 버퍼의 크기를 구함
getRemaining() int 현재 버퍼의 남은 크기를 구함
clear() void 버퍼의 내용을 비움. 만약 버퍼가 이미 플러시 되었다면 IOException을 발생시킴
clearBuffer() void 버퍼의 내용을 비움. clear() 메서드와는 달리 버퍼를 플러시한 경우에도 예외를 발생시키지 않음
flush() void 버퍼를 플러시함
isAutoFlush() boolean 버퍼가 다 찼을때 자동으로 플러시할 경우 true 리턴함

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ page buffer="8kb" autoFlush="false" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	버퍼 크기: 	<%= out.getBufferSize() %><br> 	<!-- 버퍼 크기 출력      -->
	남은 크기: 	<%= out.getRemaining() %><br>	<!-- 버퍼의 남은 크기 출력 -->
	auto flush: <%= out.isAutoFlush() %><br> 	<!-- 자동 플러시 여부 출력 -->
</body>
</html>

References

source code : https://github.com/yonghwankim-dev/JSP2.0/tree/master/jsp2/src/main/webapp/Chapter05
JSP 2.0 프로그래밍 기초부터 중급까지

 

'JAVA > Servlet&JSP' 카테고리의 다른 글

[JSP] 5.4 기본 객체: application  (0) 2022.04.08
[JSP] 5.3 기본 객체: pageContext  (0) 2022.04.07
[JSP] 5.1 기본 객체  (0) 2022.04.07
[JSP] 4.3 어플리케이션의 폴더 구조  (0) 2022.04.07
[JSP] 4.2 출력 버퍼  (0) 2022.04.07