JSP - Directive 지시어

yeong ·2022년 12월 6일

지시어

  • page Directive : JSP 문서에 필요한 정보를 제공하도록 지시
<@page 속성="속성값" 속성="속성값" ... %>
  • include Directive : JSP 문서에 외부파일의 코드(Source)를 포함하도록 지시
<@include file="URL" >
  • taglib Directive : JSTL(JSP Standard Tag Library)이나 커스텀 태그 등 라이브러리를 JSP에서
    사용할 때 접두사를 지정하기 위해 사용된다.
  • taglib 지시어는 uri 속성과 prefix 속성의 두가지 속성으로 이루어지는데
    • uri 속성은 태그 라이브러리에서 정의한 태그와 속성 정보를 저장한 TLD(Tag Library Descriptor)파일이 존재하는 위치를 지정하고
    • prefix 속성에는 사용할 커스텀 태그의 네임 스페이스(Name Space)를 지정한다
 <@tablib prefix="namespace" uri="tldId" >

page Directive

  • contentType 속성에는 JSP 문서를 요청하여 응답받을 수 있는 파일형식(MimeType)과
    파일의 문자형태(CharacterSet - Encoding)를 속성값으로 설정
<%@ page language="java" contentType="application/pdf; charset=UTF-8"
    pageEncoding="UTF-8"%>
  • page Directive에서는 동일한 속성을 다른 속성값으로 중복 선언할 경우 JSP 문서 실행시
    500 에러 발생 - import 속성 제외

  • import 속성에는 JSP 문서에서 사용할 클래스 또는 인터페이스를 속성값으로 설정
    - 클래스 또는 인터페이스의 패키지를 명확하게 표현하여 제공

- page Directive - errorPage 속성

  • JSP 문서에 직접 error 발생시 실행될 URL주소를입력해준다.
    단점: JSP문서마다 설정해줘야함.

- web.xml

-[web.xml] 파일에서 모든 웹프로그램의 요청과 실행에 의해 발생되는 에러코드(4XX 또는 5XX)를
클라이언트에게 전달하는 대신 에러페이지로 응답되도록 설정 가능 - 클라이언트의 URL 주소 미변경

xml작성 예시
  <!-- error-page : 에러페이지를 등록하기 위한 엘리먼트 -->
  <error-page>
  	<!-- exception-type : 웹프로그램 실행시 발생되는 예외에 대한 예외클래스를 설정하기 위한 엘리먼트 -->
  	<exception-type>java.lang.NullPointerException</exception-type>
  	<!-- location : 에러코드 대신 응답될 에러페이지의 URL 주소를 설정하는 엘리먼트 -->
  	<location>URL주소.jsp</location>
  </error-page>
  
  <error-page>
  	<!-- error-code : 에러코드를 설정하기 위한 엘리먼트 -->
  	<error-code>500</error-code>
  	<location>URL주소</location>
  </error-page>

include Directive

  • include Directive의 file 속성값으로 동일 서버에 저장된 문서파일의 URL 주소 설정
    • file 속성값으로 설정된 문서파일이 없는 경우 에러 발생
    • 문서파일의 소스코드를 include Directive 명령 위치에 포함하여 실행
  • JSPF 파일 : 클라이언트 요청에 의한 실행이 목적이 아닌 다른 JSP 문서에 소스코드를
    제공하기 위한 파일
<%@include file="파일 위치.jspf"%>
  • 추가로 CSS같은 기능을 미리 만들어서 추가 할 때는 CSS파일을 생성해서 작성후 HTML의 link태그로 추가해준다
<link href="style.css" type="text/css" rel="stylesheet">

taglib Directive

코드를 입력하세요

0개의 댓글