에러 페이지와
최종 테스트 qr 페이지
버그수정
에러 페이지
java
package kr.ganjuproject.controller;
import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class MyErrorController implements ErrorController {
@RequestMapping("/error")
public String handleError(HttpServletRequest request, Model model) {
Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
String errorMessage = "알 수 없는 오류가 발생했습니다.";
int statusCode = 0; // 초기 상태 코드 값 설정
if (status != null) {
statusCode = Integer.valueOf(status.toString());
switch (HttpStatus.valueOf(statusCode)) {
case NOT_FOUND:
errorMessage = "페이지를 찾을 수 없습니다.";
break;
case INTERNAL_SERVER_ERROR:
errorMessage = "서버 내부 오류가 발생했습니다.";
break;
case FORBIDDEN:
errorMessage = "접근이 금지되었습니다.";
break;
case UNAUTHORIZED:
errorMessage = "인증이 필요합니다.";
break;
case BAD_REQUEST:
errorMessage = "잘못된 요청입니다.";
break;
case METHOD_NOT_ALLOWED:
errorMessage = "허용되지 않는 메소드입니다.";
break;
// 여기에 더 많은 오류 상태를 추가할 수 있습니다.
default:
errorMessage = "예기치 못한 오류가 발생했습니다.";
}
}
model.addAttribute("statusCode", statusCode);
model.addAttribute("errorMessage", errorMessage);
// 모든 오류를 'error/errorPage.html' 템플릿을 통해 처리
return "error/errorPage";
}
}
html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title th:text="${statusCode} + ' 에러'">오류</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home/home.css">
<style>
h1, .button.home{
margin: 30px 0;
}
</style>
</head>
<body>
<div class="innerBox">
<div class="container">
<div class="logo"><img src="/images/logo.svg" alt="logo"></div>
<h1 th:text="${statusCode} + ' 에러'">오류 제목</h1>
<p th:text="${errorMessage}">오류 메시지</p>
<a th:href="@{/}" class="button home">홈으로 돌아가기</a>
</div>
</div>
</body>
</html>'공부 > Ganju' 카테고리의 다른 글
| [Spring/AWS] 팀프로젝트 15일차 (0) | 2024.04.20 |
|---|---|
| [Spring/AWS] 팀프로젝트 14일차 (0) | 2024.04.19 |
| [Spring/AWS] 팀프로젝트 13일차 (0) | 2024.04.18 |
| [Spring/AWS] 팀프로젝트 12일차 (0) | 2024.04.16 |
| [Spring/AWS] 팀프로젝트 11일차 (0) | 2024.04.16 |
