오류 핸들러로 표시된 페이지 사용자 지정 customizing-pages-shown-by-the-error-handler
Adobe Experience Manager(AEM)에는 HTTP 오류를 처리하기 위한 표준 오류 처리기가 함께 제공됩니다. 예를 들면 다음과 같습니다.
오류 코드에 응답하기 위해 시스템에서 제공한 스크립트가 /libs/sling/servlet/errorhandler
아래에 있습니다. 기본적으로 표준 CQ 인스턴스에서 다음 스크립트를 사용할 수 있습니다.
- 403.jsp
- 404.jsp
오류 핸들러로 표시된 페이지를 사용자 지정하는 방법 how-to-customize-pages-shown-by-the-error-handler
자체 스크립트를 개발하여 오류가 발생했을 때 오류 핸들러에서 표시하는 페이지를 사용자 지정할 수 있습니다. 사용자 지정된 페이지가 /apps
아래에 만들어지고 /libs
아래에 있는 기본 페이지를 오버레이합니다.
-
저장소에서 기본 스크립트를 복사합니다.
- 변환 전:
/libs/sling/servlet/errorhandler/
/apps/sling/servlet/errorhandler/
에
기본적으로 대상 경로가 존재하지 않으므로 처음 이 작업을 수행할 때 대상 경로를 만들어야 합니다.
- 변환 전:
-
/apps/sling/servlet/errorhandler
(으)로 이동하여 다음 중 하나를 수행합니다.- 필요한 정보를 제공할 수 있도록 적절한 기존 스크립트를 편집합니다.
- 필요한 코드에 대한 새 스크립트를 만들고 편집합니다.
-
변경 사항을 저장하고 테스트합니다.
HTTP 500 오류에 대한 응답 사용자 지정 customizing-the-response-to-http-errors
HTTP 500 오류는 서버측 예외로 인해 발생합니다.
- 500 내부 서버 오류
서버에서 예기치 않은 상태가 발생하여 요청을 수행할 수 없습니다.
요청 처리로 인해 예외가 발생하면 (AEM이 빌드된) Apache Sling 프레임워크가
-
예외를 기록합니다.
-
반환:
- http 응답 코드 500
- 예외 스택 추적
를 입력합니다.
오류 처리기로 표시된 페이지를 사용자 지정하면 500.jsp
스크립트를 만들 수 있습니다. 그러나 HttpServletResponse.sendError(500)
이(가) 예외 캐쳐에서 명시적으로 실행되는 경우에만 사용됩니다.
그렇지 않으면 응답 코드가 500으로 설정되어 있지만 500.jsp
스크립트가 실행되지 않습니다.
500 오류를 처리하려면 오류 처리기 스크립트의 파일 이름이 예외 클래스(또는 슈퍼클래스)와 같아야 합니다. 이러한 모든 예외를 처리하기 위해 /apps/sling/servlet/errorhandler/Throwable.js
p 또는 /apps/sling/servlet/errorhandler/Exception.jsp
스크립트를 만들 수 있습니다.