Back-End/JSP
[JSP] 3. 에러처리
윤고랭이
2021. 6. 6. 01:03
1. 에러페이지는 왜 표시할까?
개발과정에서 오류 내용은 어떤 에러인지를 확인하고 바로 잡을 수 있기 때문에
에러 화면을 보는 것이 도움이 된다.
하지만 사용자 입장에선 썩 좋진 않다. 신뢰하지 않게 되기도 하고 일부 코드가
노출 가능성이 있기 떄문에 보안상으로도 좋지 않다.
에러페이지를 노출하고 싶지 않다면 try-catch를 이용해 오류마다 응답을 생성
할수 있다.
<%@ page contentType = ”text/html; charset=utf-8” %>
<html>
<head><title> 파라미터 출력 </title></head>
<body>
name 파라미터 값:
<% try { %>
’ <%= request. getParameter('name"). toUppercase() %> <%-- 오류 발생 --%>
<%} catch(Exception ex) { %>
name 파라미터가 올바르지 않습니다. <%-- 오류가 발생하면 출력된다 --%>
<%}%>
<body>
</html>
(%@ page isErrorPage = ”true” %>
isErrorPage 속성값을 "true"로 지정하면 JSP페이지는 에러페이지가 된다.
exception 객체를 이용할 수 있게 되어 예외에 대한 정보를 얻을 수 있다.
2. 응답상태 코드별로 작성
<error-page>
<error-code>404</error-code>
<location>/error/error404.jsp</location>
</error-page>
WEB-INF\web.xml에 넣기
3. 버퍼와 에러페이지
오류가 발생하기 전에 버퍼가 플러시 될 가능성이 있다면 버퍼 크기를 늘려서
에러가 발생하기 전에 버퍼가 플러시 되지 않도록 해야 한다.