본문 바로가기
JSP/JSP기초

JSP web.xml 을 이용한 예외 처리방법

by 미눅스[멘토] 2023. 7. 11.
728x90

web.xml 처리방법

 

 

요소 설명
<error-code> 오류 코드를 설정하는데 사용
<exception-type> 자바 예외 유형의 정규화된 클래스 이름을 설정하는데 사용
<location> 오류 페이지의 URL을 설정하는데 사용

 

 

 

주요 오류코드의 종류

코드 설명
200 요청이 정상적으로 처리되었다
307 임시로 페이지가 리다이렉트 된다
400 클라이언트의 요청이 잘못된 구문으로 구성된다
401 접근이 허용되지 않는다.
404 지정된 URL을 처리하기 위한 자원이 존재하지 않는다(페이지가 없음)
405 요청된 메소드가 허용되지 않는다,
500 서버 내부의 에러다(JSP에서 예외가 발생하는 경우)
503 서버가 일시적으로 서비스를 제공할 수 없다(서버 과부하나 보수 중인 경우)

  <!-- 
  	오류가 나면 오류 코드에 맞춰 오류 퍼리jsp로 매핑 
  	[대표 오류 코드]
  	404 : 지정된 URL을 처리하기 위한 자원이 없음
  	500 : 개발자 오류
  -->
  <error-page>
  <!-- 오류코드
  	오류 코드 : 웹 서버가 제공하는 기본 오류. 응답 상태 코드.
  	JSP페이지에서 발생된 오류가 이 오류 코드와 일치 시 매핑된 오류 페이지로 이동
   -->
   	<error-code>404</error-code>
   	<!--  오류 페이지 설정 -->
   	<location>/error/error404.jsp</location>
  </error-page>
  <error-page>
  <!-- 오류코드 설정. ex) 10/0과 같은 잘못된 코드를 실행 시 -->
  	<error-code>500</error-code>
  	<location>/error/error500.jsp</location>
  </error-page>

 

404에러가 났을때

500에러가 났을때 

요청페이지를 설정한다.

 

설정한  파일을 만든다.

 

 

error404.jsp 파일 코드

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
404오류 발생
</body>
</html>

 

erro500.jsp 파일 코드

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
500오류 발생
</body>
</html>

이렇게 설정해주고

 

 

 

오류발생시 wbe페이지보다 우선순위인 xml에서 처리하게 된다.

 

 

 

 

결과

 

 


web.xml오류처리

exception-type으로 오류 처리하기

 

 

 

exception-type오류로 예외처리하기

 

 

  <error-page>
  	<exception-type>java.lang.NullPointerException</exception-type>
  	<location>/error/errorNullPointer.jsp</location>
  </error-page>

 

exception-type 에 러 타입과

location에 error처리할 페이지 설정

 

 

 

파일생성

 

 

 

 

오류처리 페이지 작성

결과