개발자노트/웹
HTML - JSP 에러 처리 페이지 ( 예외처리 )
hansummer
2022. 8. 2. 17:42
400대 에러
원인
- 클라이언트의 문제
- 주로 없는페이지를 요청할 때
해결방안
- 있는 페이지를 요청
서버 측에서 페이지를 생성
500대 에러
원인
- 로직상에서 발생하는 모든 문제에 대해 500 에러를 발생시킴
해결방안
- page 지시어 isErrorPage, errorPage 속성을 통해 설정 가능
errorPage, isErrorPage 사용방법
1. 에러가 발생할 수 있는 페이지 상단에 error가 발생했을 때 수행 될 페이지 요소경로를 작성한다.
( 여기서 나는 String 값을 int로 형변환을 억지로 하려고 해서 에러를 뜨게 했음 - 아래 코드 참고 )
2. error가 발생했을 때 수행 될 페이지 상단에는 isErrorPage="true" 요소를 작성한다.
3. ErrorPage.jsp(여기서 나는 NewFile.jsp) 에는 에러가 발생했을 때의 내용을 작성한다.
수행결과
에러 발생시키는 코드
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" errorPage="NewFile.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>에러 발생 페이지</title>
</head>
<body>
<h1>테스트 중입니다....
</h1>
<%
// 컴파일은 정상적으로 수행되나,
// 실행시키면 에러가 발생하는 코드
// 아에 문자열인 msg를 int로 형변환을 하려 해서 오류가 발생함
String msg="ErrorPageTest";
int num=Integer.parseInt(msg);
%>
</body>
</html>
ErrorPage 코드
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>에러 처리 페이지</title>
</head>
<body>
<h1>처리중에 문제가 발생했습니다!</h1>
<hr>
<%=exception%> <!-- 내장객체 -->
</body>
</html>