예외 처리(Exception Handling) 혹은 오류 처리(Trouble Shooting)란 실행 흐름상 오류가 발생했을 때 오류를 그대로 실행시키지 않고 오류에 대응하는 방법을 제시하는 개념이나 하드웨어 구조를 의미한다. 일반적으로 프로그래밍에서 프로그램이 실행 중 특정 문제가 발생했을 때 다른 처리 방식으로 흐름을 옮기는 개념으로 사용한다.
예외 처리가 되어있지 않다면 서버에서 기본적으로 제공되는 에러페이지가 나온다 .
-> 사용자들에게 보기 불편해 에러페이지를 따로 지정한다.
가장 간단한 방법
name 파라미터 값이 전송되지않기 때문에 nullpointerException이 발생되며
에러페이지 처리를 하지 않기 때문에 HTTP상태 500내부 서버 오류가 발생한다.
예외처리 페이지를 만들지 않은 기본페이지.
<%@ page errorPage ="~~.jsp"%>
errorPage=" ...jsp"추가해준다.
기본오류페이지에서 -> 내가 작성한 오류페이지로 바뀐다.
web.xml 이란 tomcat에서 기본적으로 읽는 파일들이다.
jsp페이지에서 빈번하게 발생하는 에러 번호별로 에러 처리 페이지를 설정하는 방법이다.
서버 페이지 코드에서 오류는 대부분 500번 오류이므로 오류번호에 대해서 에러페이지를 지정한다.
createError page에서 errorpage를 삭제 해준다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<error-page>
<error-code>500</error-code> //500오류가 발생하면
<location>/500.jsp</location> //500jsp파일을 열어준다.
</error-page>
<error-page>
<error-code>404</error-code> //404오류가 발생하면
<location>/error404.jsp</location> //error404 file을 찾아서 보여준다.
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/null.jsp</location>
</error-page>
nullpointerException이 발생하면 null.jsp페이지에서 에러를 우선으로 처리하며 그외의 서버 오류가 발생하면 500.jsp 나 404.jsp네서 에러를 처리한다.
page지시자 errorPage 속성값 지정
->web.xml페이지의 exception-type 엘리먼트값 설정
-> web.xml페이지의 error-code엘리먼트값 설정
우선순위가 높은순서대로 먼저 처리된다.