일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- SQL
- 자바
- JavaScript
- 데이터베이스
- 웹
- Database
- 서블릿
- Python
- frontend
- Programming
- function
- Servlet
- 문자열
- oracle
- 프로그래밍
- 메소드
- It
- web
- 프론트엔드
- 함수
- PL/SQL
- 자바스크립트
- 오라클
- java
- Method
- 파이썬
- String
- jsp
- HTML
- 코딩
- Today
- Total
Untitled_Blue
[JSP] JSP의 디렉티브 (Directive) 본문
안녕하세요. 이번 글은 JSP의 디렉티브(Directive)에 대한 설명입니다.
- 디렉티브란?
- 요청한 JSP파일을 실행할 때 필요한 설정 정보를 지정하는데 사용하는 하나의 단위
- 크게 page, include, taglib 디렉티브로 3가지로 구성된다.
- page 디렉티브
- <%@ page%>
- JSP페이지에 대한 정보를 나타낼 때 사용하며 주로 import할 클래스, Session 및 Buffer의 사용여부를 시작으로 문서타입고 스크립트 언어를 통해 JSP파일이 온전한 웹페이지로 실행될 수 있도록 하는 설정 정보를 지정하는 역할
<%@page import="java.util.ArrayList"%>
<%@page import="Notice.EventDTO"%>
<%@page import="Notice.EventDAO"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
다음은 필자가 진행했던 프로젝트 일부에서 발췌한 JSP 파일 소스코드의 일부이다. 다음과 같이 <%@page import="**"%>를 통해 필요한 자바 클래스 내지 API와 문법을 적재적소에 사용할 수 있다. 또한 contentType을 통해 생성 및 보여줄 문서의 타입을 정의할 수 있으며 language를 통해 어떠한 언어를 기반으로 작동시킬 것인지를 설정할 수 있다. 사실 맨 마지막 줄에 있는 코드는 IDE를 통해 JSP파일을 생성하면 자동으로 입력된다.
속성명 | 설명 | 기본값 (Default) |
import | 패키지 내 클래스를 활용할 때 사용 | |
contentType | JSP 파일 실행 시, 생성할 문서타입 지정 | contentType="text/html; charset-ISO-8859-1" |
language | JSP의 스크립트 요소에서 사용할 언어 지정 | java |
info | 페이지를 설명하는 데 문자열 형식으로 사용 | |
extends | 해당 파일에서 상속받을 클래스 지정 | |
session | HttpSession의 사용여부 지정 | true |
buffer | JSP 내 출력 버퍼의 크기 지정 | 8kb |
autoFlush | 출력버퍼가 꽉 찰 경우 기존 내용의 처리 여부 | true |
isThreadSafe | 현재 페이지에 다중쓰레드 허용여부 설정 | true |
errorPage | 에러 발생 시, 표시할 페이지 설정 | |
isErrorPage | 해당 페이지에 대한 에러 페이지 지정 여부 | false |
pageEncoding | 해당 페이지의 문자 인코딩 지정하는 속성 | ISO-8859-1 |
isELIgnored | 표현 언어에 대한 지원여부 설정 | - |
상단의 표를 보면 page에 대한 디렉티브를 통해 설정할 수 있는 범위는 매우 넓다는 점을 확인할 수 있다.
- Include 디렉티브
- <%@ include%>
- 하나의 JSP 파일 내 특정 파일을 포함해서 표시하는 기능을 지원하는 디렉티브
- 해당 디렉티브를 사용하기 위해서는 별도의 파일이 반드시 프로젝트 내에 존재해야 함
<div id="wrap">
<%@include file="./header.jsp" %>
<section>
<table align="center">
</table>
</section>
<%@include file="./footer.jsp" %>
</div>
상단의 코드와 이미지는 include를 활용한 예제이다. 이 또한 과거 진행했던 프로젝트에서 발췌한 것이다. 해당 디렉티브를 통해 하나의 jsp 페이지 안에 두 개의 페이지를 동시에 표시할 수 있음을 확인할 수 있으며 컴파일할 때 3개를 모두 하나의 페이지로 인식한다는 점도 확인할 수 있다.
- taglib 디렉티브
- <%@ taglib%>
- 표현언어 (EL, Expression Language), JSTL(JSP Standard Tag Library), Custom Tag를 JSP 파일에서 사용하도록 설정하기 위한 디렉티브
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
상단의 소스코드와 같이 디렉티브를 사용할 수 있다. 이때 prefix 속성은 일종이 닉네임과 같다고 보면 된다. 그리고 prefix에 대한 기능을 나타내는 uri 속성은 정의한 특정 태그의 설정 정보를 가지고 있는 점이 특징이다.
이 부분은 기본적인 내용을 시작으로 진행하면 쉽게 이해할 수 있을 것이며 이들은 나중에 스프링 프레임워크에서도 활용된다.
참고로 JSTL를 사용하기 위해서는 스프링이 아닌 이상 별도로 라이브러리(.jar)를 다운받고 해당 프로젝트 안에 내장해줘야 한다. 이에 대한 라이브러리는 아파치 톰캣 홈페이지에서 다운로드할 수 있다. (필자의 경우 1.2를 사용하고 있다.)
https://tomcat.apache.org/taglibs/standard/
Apache Taglibs - Apache Standard Taglib: JSP[tm] Standard Tag Library (JSTL) implementations
<!-- Copyright 1999-2011 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/
tomcat.apache.org
다음 글은 JSP 페이지의 스크립트 요소에 대한 설명입니다. 감사합니다.
'JSP&Servlet' 카테고리의 다른 글
[JSP] JavaBeans (자바빈즈) (1) | 2023.10.09 |
---|---|
[JSP] 액션태그 (0) | 2023.10.08 |
[JSP] 내장객체 (1) | 2023.10.07 |
[JSP] JSP의 스크립트 요소 (0) | 2023.10.03 |
[JSP] Web에 대한 이해 및 JSP & Servlet이란? (0) | 2023.10.01 |