JSP 에러 처리

이시혁·2022년 7월 20일
0

404 Not Found : 클라이언트가 요청한 리소스가 서버에 없음.
500 Internal Server Error : 서버에서 클라이언트 요청 처리 중에 에러 발생

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Error.jsp</title>
<script src=../include/jquery-3.6.0.min.js></script>
</head>
<body>
<%
int a = Integer.parseInt(request.getParameter("num"));
%>
<!-- 받아오는 건 없고 그냥 a를 출력해보는 상황 -->
a : <%= a %>
<!-- java.lang.NumberFormatException: null 에러 -->
<!-- null을 숫자로 바꿀 수 없기 때문에 java.lang.NumberFormatException:null -->
<!-- 쿼리스트링으로 num에 값을 주면 에러 발생 없음. -->
<!-- 에러가 발생하더라도, 사용자에게 보여지는 것은 좋지 않음. -->
</body>
</html>

에러가 발생한 페이지를 사용자에게 다르게 보여지게 해보자고!

web.xml을 열어서, 끝나는 지점에

<error-page>
  <error-code>404</error-code>
  <location>/error/404code.jsp</location>
</error-page>
<error-page>
  <error-code>500</error-code>
  <location>/error/500code.jsp</location>
</error-page>

만들어 주고, 404code.jsp를 만들어주러 가자!

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src=../include/jquery-3.6.0.min.js></script>
</head>
<body>
<h2>요청하신 주소를 찾을 수 없습니다.</h2>
<p>
잠시 후에 다시 한 번 시도해 주시기 바랍니다.
동일한 문제가 지속적으로 발생할 경우 고객센터로 문의해주세요.
</p>
</body>
</html>

505code.jsp 역시도 같은 내용이다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src=../include/jquery-3.6.0.min.js></script>
</head>
<body>
<h2>이용에 불편을 드려 죄송합니다.</h2>
<p>
잠시 후에 다시 한 번 시도해 주시기 바랍니다.
동일한 문제가 지속적으로 발생할 경우 고객센터로 문의해주세요.
</p>
</body>
</html>
profile
차근차근

0개의 댓글