일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 객체지향
- java
- 예외처리
- JSP
- 자료구조
- 백준
- 2884
- 클래스 패스
- 공개키 암호
- HTML
- 백준 알고리즘
- OOP
- 형변환 연산자
- 프로그래밍
- BufferedWrite
- 자동 형변환
- jvm
- 객체
- bubble-sort
- 알고리즘
- 재귀호출기본
- 디렉티브
- 암호론
- 소수판정
- try&catch
- lang package
- 연결된 예외
- 현대암호
- class
- LANG
- Today
- Total
코드일기장
[JSP] page 디렉티브 본문
page 디렉티브는 JSP 페이지에 대한 정보를 입력하기 위해서 사용한다. page 디렉티브를 사용하면 JSP 페이지가 어떤 문서를 생성하는지, 어떤 자바 클래스를 사용하는지와 같은 JSP 페이지를 실행하는 데 필요한 정보를 입력할 수 있다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
%>
<%@ page trimDirectiveWhitespaces="true"%>
page 디렉티브 예시 코드
page 디렉티브의 주요 속성(최범균 JSP2.3)
속성 | 설명 | 기본값 |
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 페에지를 실행하는 도중에 에러가 발생할 때 보여 줄 페이지 지정한다. | |
pageEncoding | JSP 페이지 소스 코드의 캐릭터 인코딩을 지정한다. | |
isELIgnored | "true"일 경우 표현 언어를 해석하지 않고 문자열로 처리한다. "false"일 경우표현언어를 지원한다, | false |
deferredSyntaxAllowedAsLiteral | #{ 문자가 문자열 값으로 사용되는 것을 허용할지의 여부를 지정} | false |
trimeDirectiveWhitespaces | 출력 결과에서 템플릿 텍스의 공백 문자를 제거할 지 여부 설정 | false |
contentType 속성과 캐릭터 셋
page 디렉티브의 contentType 속성은 JSP 페이지가 생성할 문서의 타입을 지정한다.
JSP에서 사용하는 MIME타입은 주로 "text/html"이다. 기본값이기도 한다.
<%@ page contentType="text/html"%>
HTML 문서를 생성할 경우의 contentType의 속성 설정 예
<%@ page cotentType="text/xml"%>
XML 문서를 생성할 경우의 contentType의 속성 설정 예
contentType 설정 후 charset을 설정할 수 있다.
"; charset= 캐릭터 셋" charset은 생략할 수 있다. 생략할 경우 기본값인 ISO-8859-1을 사용하게 된다. 한글은 표현할 수 없는 캐릭터 셋이다.
<%@ page contentType="text/html; charset=UTF-8"%>
또는
<%@ page contentType="text/html; charset=utf-8"%>
charset의 속성 값은 대소문자 구분 없이 사용 가능하다.
한국어가 포함된 캐릭터 셋은 EUC-KR이나 UTF-8을 사용하면 된다. 주로 UTF-8을 사용
<%@ page contentType="text/html; charset=ISO-8859-1" %>
<%@ page trimDirectiveWhitespaces="true"%>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<strong>하이</strong>
</body>
</html>
만약 한국어가 지원 안 되는 캐릭터 셋을 사용하면
import 속성
import 속성은 자바에서의 import와 동일하다.
자바 패키지에서 사용할 클래스를 import 해주면 되는 것이다.
<%@ page import="java.util.Calendar"%>
<%@ page import="java.util.Scanner"%>
위 import 속성 값을 합쳐 쓸 수도 있다.
<%@ page import="java.util.Calendar, java.util.Scanner"%>
사용할 클래스마다 ", "로 나누면 된다.
자바에서 처럼 해당 패키지의 모든 클래스를 사용한다면 (*)을 사용해 클래스 이름을 줄일 수 있다.
<%@ page import="java.util.*"%>
🎈 import 예시 코드
<%@page import="java.util.Calendar"%>
<%@ page contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
%>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<%
Calendar cal = Calendar.getInstance();
%>
<strong>현재 년도는:<%= cal.get(Calendar.YEAR) %></strong><br>
<strong>오늘은 <%=cal.get(Calendar.MONTH) %>월 입니다.</strong><br>
<strong>지금까지 <%=cal.get(Calendar.WEEK_OF_YEAR) %>주가 지났습니다.</strong>
</body>
</html>

import 속성을 사용하지 않고 완전한 클래스 이름을 사용하여 클래스를 사용할 수도 있다.
<%
java.util.Calendar cal=java.util.Calendar.getInstance();
%>
<strong>현재 년도는:<%= cal.get(java.util.Calendar.YEAR) %></strong><br>
<strong>오늘은 <%=cal.get(java.util.Calendar.MONTH) %>월 입니다.</strong><br>
<strong>지금까지 <%=cal.get(java.util.Calendar.WEEK_OF_YEAR) %>주가 지났습니다.</strong>
패키지 이름을 일일이 다 적어줘야 한다는 단점이 있다.
trimDirectiveWhitespaces 속성
스크립트 코드로 안 해 만들어진 줄 바꿈 공백 문자를 제거하는 기능을 가지고 있다. JSP 2.1 버전부터 추가된 기능이다.
불필요하게 생성되는 줄바꿈 공백 문자를 제거할 수 있다.
trimeDirectiveWhitespaces "false"일 경우 웹에서 [ctrl+u] 소스보기를 누르면 해당 페이지의 소스 코드는 줄 바꿈 공백이 존재하게 된다. 줄바꿈 공백은 JSP 코드들이 였다.
<%@ page trimDirectiveWhitespaces="true" %>
"true"로 바꿔준다면 줄바꿈 공백은 없어진다.
trimDriectiveWhitespaces의 기본값은 "false"이다.
pageEncoding 속성
지금까지 배운 contentType에 charset은 응답 결과의 캐릭터 셋이다.
응답결과의 속성 값과 pageEncoding의 값을 서로 다르게 할 수 있다.
<%@ page contentType="text/html; charset=EUC-KR"
%>
<%@ page pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<%
String str ="안녕하세요?";
%>
<strong>현재 년도는:<%= str %></strong><br>
</body>
</html>
위와 같은 코드는 JSP 파일은 UTF-8로 작성하고 응답 결과는 EUC-KR로 설정한 것이다.
커버 사진
<a href="https://www.flaticon.com/kr/free-icons/" title="자바 아이콘"> 자바 아이콘 제작자: Freepik - Flaticon </a>
https://www.flaticon.com/kr/free-icon/jsp-open-file-format-with-java-logo_28968
'JSP' 카테고리의 다른 글
[JSP] forward, include 액션 태그 (0) | 2022.08.04 |
---|---|
[JSP] include 디렉티브 태그의 기능과 사용법 (0) | 2022.07.21 |
[JSP] request 기본 객체 (0) | 2022.03.07 |
[JSP] 스크립트 요소 (0) | 2022.03.01 |
[JSP] JSP에서 HTML 문서 생성하는 기본 구조 (0) | 2022.02.28 |