JSP(JavaServer Page)

JSP(JavaServer Page) - 3 : page 지시어 (errorPage, isErrorPage, contentType 속성)

n.han 2016. 7. 25. 20:25

- 지시어 (Directives), page 지시어


지시어는 해당하는 JSP 파일의 속성을 기술하는 곳으로,


JSP 컨테이너에게 해당 페이지를 어떻게 처리해야 하는 지 전달하기 위한 내용을 담고 있다.


page 지시어, include 지시어, taglib 지시어에 대하여 알아보자.


1. page 지시어


page 지시어는 현재의 JSP 페이지를 컨테이너에서 처리하는 데 필요한 각종 속성을 기술하는 부분으로


JSP 파일에서 주석을 제외하고 맨 앞에 나와야 한다.


page 지시어는 다음과 같은 syntax로 사용된다.


<%@ page 속성1="속성값1" 속성2="속성값2" ...%>



다음은 page 지시어의 속성을 정리한 표이다. 



속성

설명

language

스크립트 언어의 유형을 정함

import

JSP 내에서 사용할 외부 자바 패키지나 클래스를 불러옴

session

세션의 사용 유무를 정함

buffer

버퍼의 크기를 정함

isThreadSafe

단일 스레드 모델를 사용하여, 동시성 제어

errorPage

현재 페이지에서 오류가 발생할 경우 호출될 페이지 지정

isErrorPage

오류만을 처리하는 페이지를 지정

contentType

MIME 형식 지정 및 캐릭터 셋을 설정

pageEncoding

JSP 파일 자체의 캐릭터 셋을 설정


2. contentType 속성


현재 JSP 페이지를 클라이언트에서 처리하기 위한 컨텐츠 유형을 지정하는 부분이다.


일반적으로 text/html 문서로 지정되어 있다.


3. isErrorPage, errorPage 속성


errorPage 속성은 현재 JSP 페이지에서 오류가 발생할 경우 호출할 페이지를 지정한다.


또한 isErrorPage 속성은 발생한 오류들을 처리하는 파일에 에러 발생시 호출되는 페이지임을 명시하는데 사용된다.


다음은 errorPage와 isErrorPage의 일반적인 syntax이다.


<%@ page errorPage="오류_처리_파일.jsp" %>


<%@ page isErrorPage="true" %>



다음은 런타임 오류를 발생 시키는 JSP 파일의 예이다.


Interger.parseInt( ) 메서드의 매개 변수로 string이 오기 때문에 Exception이 발생하게 되는 것을 볼 수 있다.






이러한 오류 메시지는 프로그래머가 디버깅하는 데 도움이 될 수는 있지만,



일반 사용자는 이러한 화면을 보면 사이트에 심각한 문제가 있는 것처럼 오해할 수 있다.



이는 곧 사이트 신뢰를 떨어뜨리는 요소가 될 수 있으므로, 오류가 발생할 때 출력하는 화면을 적절하게 구성해야 하며



일관석 있는 오류 페이지 관리가 필요하다. errorPage 속성은 바로 이러한 기능을 수행하는 옵션이다.



다음은 위 예를 errorPage와  isErrorPage 속성을 사용하여 적절히 처리한 것이다.





에러가 발생하는 페이지




에러 발생 시 호출되는 페이지



결과