티스토리 뷰

Spring에서 특정 예외나 에러가 발생했을 때, 사용자에게 보여줄 JSP를 설정하려면 예외 매핑이나 에러 페이지 등록이 필요합니다.


✅ 1. web.xml을 사용하는 전통적인 방식

<error-page>
    <exception-type>com.cmm.error.EgovError</exception-type>
    <location>/WEB-INF/jsp/com/cmm/error/egovError.jsp</location>
</error-page>

또는 HTTP 상태 코드 기준일 경우:

<error-page>
    <error-code>500</error-code>
    <location>/WEB-INF/jsp/com/cmm/error/egovError.jsp</location>
</error-page>

✅ 2. Spring MVC에서 @ControllerAdvice로 처리

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(EgovError.class)
    public String handleEgovError(EgovError ex, Model model) {
        model.addAttribute("errorMessage", ex.getMessage());
        return "com/cmm/error/egovError"; // ViewResolver가 이 경로의 JSP를 찾음
    }
}

이 경우 viewResolver 설정이 prefix = /WEB-INF/jsp/, suffix = .jsp라면 최종 경로는
/WEB-INF/jsp/com/cmm/error/egovError.jsp가 됩니다.


✅ 3. SimpleMappingExceptionResolver 사용 (XML 기반)

servlet-context.xml 또는 dispatcher-servlet.xml에 다음 추가:

<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    <property name="exceptionMappings">
        <props>
            <prop key="com.cmm.error.EgovError">com/cmm/error/egovError</prop>
        </props>
    </property>
</bean>

🔧 JSP 파일 위치

/WEB-INF/jsp/com/cmm/error/egovError.jsp 처럼 보안상 직접 접근 불가능한 경로에 두는 것이 일반적입니다.
접근 경로가 맞는지 확인하고, JSP 파일이 실제로 존재하는지도 체크하세요.

 

'Skill > spring' 카테고리의 다른 글

HSTS 관련 설정  (0) 2025.04.07
spring] defaultErrorView 설정  (0) 2025.04.05
MyBatis <selectKey>를 사용하여 SEQUENCE 값을 가져오기  (0) 2025.03.28
Invalid CSRF token found 오류 해결 방법  (0) 2025.03.20
java] 메일 보내기  (0) 2025.03.04
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함