ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프링 부트의 오류 페이지
    스프링/스프링 MVC 패턴 2023. 3. 3. 22:38

    스프링 부트에서 오류가 나면 자동으로 페이지를 연결해주는 기능이 있다.

     

    뷰 템플릿은 resource/templates/error/~~~~~.html 이라는 정해진 규칙이 있어서 여기에 html 파일을 넣으면 된다.

     

     

    404 오류 발생시

    @Slf4j
    @Controller
    public class ServletExController {
    
        @GetMapping("/error-404")
        public void error404(HttpServletResponse response) throws IOException {
            response.sendError(404, "404 오류!");
        }

    404.html

    <!DOCTYPE HTML>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
      <meta charset="utf-8">
    </head>
    <body>
    <div class="container" style="max-width: 600px">
      <div class="py-5 text-center">
        <h2>404 오류 화면 스프링 부트 제공</h2>
      </div>
      <div>
        <p>오류 화면 입니다.</p>
      </div>
      <hr class="my-4">
    </div> <!-- /container -->
    </body>
    </html>

     

     

    400 에러 발생시

    @GetMapping("/error-400")
    public void error400(HttpServletResponse response) throws IOException {
        response.sendError(400, "400 오류!");
    }

    4xx.html

    <!DOCTYPE HTML>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
      <meta charset="utf-8">
    </head>
    <body>
    <div class="container" style="max-width: 600px">
      <div class="py-5 text-center">
        <h2>4xx 오류 화면 스프링 부트 제공</h2>
      </div>
      <div>
        <p>오류 화면 입니다.</p>
      </div>
      <hr class="my-4">
    </div> <!-- /container -->
    </body>
    </html>

    404 에러는 404라는 지정된 타입이 있어서 해당 html을 반환한다. 하지만 400 에러는 따로 지정된 타입이 없기 때문에 4xx.html을 반환한다.

     

    400 에러가 따로 지정되지 않아서 4xx 화면을 출력한다.

     

    스프링 부트를 사용하지 않으려면 많은 파일들을 생성하고 코드를 짜야하는데 스프링 부트는 에러 페이지를 자동으로 연결시켜주는 기능이 있기 때문에 편리하게 사용할 수 있다. 개발자는 html 파일만 만들면 된다.

     

     

     

Designed by Tistory.