Untitled_Blue

[JSP] JSP의 디렉티브 (Directive) 본문

JSP&Servlet

[JSP] JSP의 디렉티브 (Directive)

Untitled_Blue 2023. 10. 2. 22:42
반응형

안녕하세요. 이번 글은 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