[JSP] 5.2 기본 객체: out
2022. 4. 7. 22:28ㆍJAVA/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 |