본문 바로가기
최범균의 JSP 2.3 웹프로그래밍/CH03 JSP로 시작하는 웹 프로그래밍

03. page 디렉티브

by 개발자공부 2024. 7. 1.

page 디렉티브를 사용하면

- JSP 페이지가 어떤 문서를 생성하는지 

- 어떤 자바 클래스를 사용하는지

- 세션(session)에 참여하는지

- 출력 버퍼의 존재 여부

같이 JSP 페이지를 실행하는데 필요한 정보를 입력할 수 있다.

 

page 디렉티브의 주요 속성

속성 설명 기본값
contentType JSP가 생성할 문서의 MIME 타입과 캐릭터 인코딩을 지정한다. text/html
import JSP 페이지에서 사용할 자바 클래스를 지정한다.  
session JSP 페이지가 세션을 사용할지의 여부를 지정한다. "true"일 경우 세션을 사용하고 "false"일 경우 세션을 사용하지 않는다. true
buffer JSP의 출력 버퍼 크기를 지정한다. "none"일 경우 출력 버퍼를 사용하지 않으며, "8kb"라고 입력한 경우 8킬로바이트 크기의 출력 버퍼를 사용한다. 최소 8kb
autoFlush 출력 버퍼가 다 찼을 경우 자동으로 버퍼에 있는 데이터를 출력 스트림에 보내고 비울지 여부를 나타낸다. "true"인 경우 버퍼의 내용을 웹 브라우저에 보낸 후 버퍼를 비우며, "false"인 경우 에러를 발생시킨다. true
info JSP 페이지에 대한 설명을 입력한다.  
errorPage JSP 페이지를 실행하는 도중에 에러가 발생할 때 보여줄 페이지를 지정한다.  
isErrorPage 현재 페이지가 에러가 발생될 때 보여주는 페이지인지의 여부를 지정한다. "true"일 경우 에러 페이지이며, "false"일 경우 에러 페이지가 아니다. false
pageEncoding JSP 페이지 소스 코드의 캐릭터 인코딩을 지정한다.  
isELlgnored "true"일 경우 표현 언어를 해석하지 않고 문자열로 처리하며, "false"일 경우 표현 언어를 지원한다. false
deferredSyntaxAllowedAsLiteral #{ 문자가 문자열 값으로 사용되는 것을 허용할지의 여부를 지정한다. false
trimDirectiveWhitespaces 출력 결과에서 템플릿 텍스트의 공백 문자를 제거할지의 여부를 지정한다. false

 


 

3.1 contentType 속성과 캐릭터 셋

MIME
MIME은 Multipurpose Internet Mail Extensions의 약자로서 이메일의 내용을 설명하기 위해 정의되었다.
하지만 메일뿐만 아니라 HTTP 등의 프로토콜에서도 응답 데이터의 내용을 설명하기 위해서 MIME을 사용하고 있다.

http://www.iana.org/assignments/media-types/media-types.xhtml

 

Media Types

 

www.iana.org

 

3.2 import 속성

<%@ page import = "java.util.Calendar" %>
<%@ page import = "java.util.Date" %>

<%@ page import = "java.util.Calendar, java.util.Date" %>

<%@ page import = "java.util.*" %>

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@page import="java.util.Calendar"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Calendar 클래스 사용</title>
</head>
<body>
	<%
	Calendar cal = Calendar.getInstance();
	%>
	오늘은
	<%=cal.get(cal.YEAR)%>년
	<%=cal.get(cal.MONTH) + 1%>월
	<%=cal.get(cal.DATE)%>일
</body>
</html>

 

3.3 trimDirectiveWhitespaces 속성을 이용한 공백 처리

첫 줄 공백은 page 디렉티브가 있던 위치에서 만들어진 것이다.
공백이 사라진 것을 확인할 수 있다.