JSP 공부 기록(4)-JSP 에러 처리, 예제
my code archive
article thumbnail
반응형
JSP 에러 응답 상태 코드

<응답 상태 코드>

 

: 웹 서버가 요청에 대한 응답을 전송할 때 HTTP 응답 메시지에 포함되는 요소,

현재 전송하려는 응답에 대응되는 요청의 처리 결과를 나타내는 코드.

->웹 클라이언트의 요청이 잘 처리되었는지, 어떤 문제가 발생했는지에 대한 내용을 의미하는 약속된 코드.

 

<자주 사용되는 응답 상태 코드 종류>

 

-200(★★★★★)

요청이 정상적으로 처리됨.

-301

URL이 옮겨짐

-307

임시로 리다이렉트됨

-400

잘못된 요청

-401

허용되지 않은 접근

-403

요청에 대한 수행 거절

-404()

요청한 페이지(파일)가 존재하지 않음

-405

허용되지 않은 메서드

-500()

서버 처리 오류

-503

서버 부하로 인해 요청에 대한 응답 불가

 

-> 400번 대 번호 : 요청이 잘못됨, 500번 대 번호 : 서버 문제(자바 코드 에러일 가능성이 높다.)

page 지시자

-errorPage : 현재 JSP 페이지 내 에러 발생 시 해당 에러를 처리할 JSP 페이지 지정

-isErrorPage : 현재 JSP 페이지가 에러 처리를 위해 작성된 페이지인지 설정

 

<예제>

100을 0으로 나누면 당연히 에러가 발생한다.

의도적으로 에러 페이지를 만들고 errorPage="ErrorHandling.jsp" 지시자를 선언한다.

->그리고 에러가 발생할 경우 이를 처리할 ErrorHandling.jsp를 만든다.

중요한 점!!!()

에러가 발생하고 응답하는 곳은 ErrorHandling.jsp 이지만

주소에는 ErrorStart.jsp로 표시된다.

-> 최초 요청 주소는 안 바뀐다.->포워드랑 비슷하다.

 

exception 내장객체

-getMessage() : 현재 오류에 대한 상세 메시지를 String 타입으로 리턴

-printStackTrace() : 현재 오류의 StackTrace 정보 출력

-toString() : 현재 오류에 대한 간략한 메시지를 String 타입으로 리턴

 

<예제>

응답 상태 코드별 에러 페이지 활용

위에서 알아본 JSP 페이지 에러 처리는 발생한 에러에 따라 다른 값을 갖는다.

응답 상태 코드별 에러 페이지 활용은

 

web.xml 설정 파일을 통해 웹 애플리케이션에서 발생할 수 있는 특정 코드를 등록,

해당 코드에 대응되는 에러 페이지를 제작해 놓으면 해당 웹 애플리케이션에 속한

모든 웹 페이지에서 미리 등록해둔 상태 코드 발생 시 동일한 에러 페이지가 출력된다.

-> 웹 애플리케이션의 일관적인 에러 관리가 가능해진다!!

 

<예제>

web.xml 파일에 404 코드를 등록한다.

-> 404 에러가 발생하면

이렇게 에러 처리 페이지가 뜬다.

 

이러한 응답 상태 코드 처리 페이지는 응답 상태 코드별로 제작해 둘 수 있어서수행 중인 페이지 종류와 상관없이, 하나의 웹 애플리케이션 내에 존재하는 모든 페이지에서일어나는 특정한 응답 상태 코드에 대한 대응 페이지를 미리 마련할 수 있다.->에러 처리에 대한 일관성 & 사용자의 편의를 위해 보편적으로 사용되는 방식이다.

 

예를 들면 이런 것.

에러 페이지 직접 호출

이 외에 JSP 페이지에서 에러 발생 시 페이지 내부에서 직접 에러 처리를 담당할

페이지를 호출하는 방법도 있다.

->getRequestDispatcher() 메서드 이용

정리

1. page 지시자 내에 errorPage 속성과 isErrorPage 속성을 사용하여 특정

   JSP 페이지 내부에서 에러 발생 시 에러를 처리해줄 별도의 전달 에러

   JSP 페이지 지정&제작

 

->현재 JSP 어디에서건 에러나면 처리할 JSP 페이지 지정

 

2. 응답 상태 코드에 따라 전담 에러 JSP 페이지를 지정&제작

 

->현재 애플리케이션 전체에서 에러 코드 발생하면 그 에러 코드 처리할 JSP 지정

 

3. 자바 exception 종류별 전담 에러 JSP 페이지를 지정&제작

 

->현재 애플리케이션 전체에서 자바 Exception 발생하면 그 에러 처리할 JSP 페이지 지정

 

4. JSP 페이지 내에 특정 코드가 실행되는 도중 에러가 발생했을 때

   그 에러를 처리해줄 전용 JSP 페이지 지정&제작

 

->특정 JSP 내에 특정 구간 코드에 에러 발생 시 에러를 처리해줄 JSP 페이지 지정

 

2. > 3.

범위 더 넓다, 넷 다 비교하면

2. > 3. > 1. > 4. 순서로 범위 넓다.

 

*어떤 JSP 페이지에서 4가지 에러 처리를 모두 적용했을 때 어떤 방식이 가장 먼저 사용될까?(우선 순위가 높을까?)

범위가 작고, 더 구체적일수록 먼저 사용된다.

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형