JSP

JSP에서 에러 페이지 설정하는 두 가지 방법

초코너무조코 2025. 2. 18. 17:09
728x90

 

JSP(Java Server Pages)를 사용하다 보면 예기치 않은 오류가 발생할 수 있습니다. 이를 효과적으로 처리하기 위해 JSP에서는 여러 가지 방법을 제공하는데, 그중 대표적인 두 가지 방법을 소개하겠습니다.

1. try-catch 문을 사용한 예외 처리

JSP 코드 내에서 특정 블록의 예외를 직접 감싸서 처리하는 방법입니다. 이 방식은 예외가 발생할 가능성이 있는 코드 블록에서만 예외를 처리하고 싶을 때 유용합니다.

예제 코드

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<html>
<head>
    <title>try-catch 예외 처리</title>
</head>
<body>
    <h2>try-catch를 사용한 예외 처리</h2>
    <%
        try {
            int result = 10 / 0; // 0으로 나누는 오류 발생
            out.println("결과: " + result);
        } catch (ArithmeticException e) {
            out.println("에러 발생: " + e.getMessage());
        }
    %>
</body>
</html>

장점

  • 특정 코드 블록에서만 예외를 처리할 수 있어 유연함
  • 예외 발생 시 사용자에게 직접 메시지를 제공 가능

단점

  • 코드가 복잡해질 수 있음
  • 페이지 전체에서 발생하는 예외를 처리하기 어려움

2. errorPage 속성을 사용한 예외 처리

JSP에서는 errorPage 속성을 사용하여 특정 예외가 발생했을 때 자동으로 다른 페이지로 이동하도록 설정할 수 있습니다.

1) 에러가 발생하는 페이지에서 errorPage 속성 설정

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" errorPage="error.jsp" %>
<html>
<head>
    <title>errorPage 속성 예제</title>
</head>
<body>
    <h2>에러 발생 테스트</h2>
    <%
        int result = 10 / 0; // 예외 발생
    %>
</body>
</html>

2) 에러 처리 페이지(error.jsp) 생성

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true" %>
<html>
<head>
    <title>에러 페이지</title>
</head>
<body>
    <h2>오류가 발생했습니다.</h2>
    <p>에러 메시지: <%= exception.getMessage() %></p>
</body>
</html>

장점

  • 코드가 깔끔하고 유지보수가 쉬움
  • 특정 예외가 발생하면 자동으로 별도의 에러 페이지로 이동 가능

단점

  • 모든 예외를 한 페이지에서 처리하기 어려울 수 있음
  • 예외별로 다른 처리를 원할 경우 추가 설정이 필요함

마무리

JSP에서 예외 처리를 하는 방법은 여러 가지가 있지만, try-catch 방식과 errorPage 속성을 활용하는 방법이 대표적입니다.

  • 특정 코드 블록에서 예외를 세밀하게 처리하고 싶다면 try-catch 문을 사용하세요.
  • 전체 페이지에서 예외가 발생했을 때 일괄적으로 처리하고 싶다면 errorPage 속성을 사용하세요.

 

728x90