Personalizar páginas mostradas pelo Manipulador de erros customizing-pages-shown-by-the-error-handler
O Adobe Experience Manager (AEM) vem com um manipulador de erros padrão para lidar com erros HTTP; por exemplo, mostrando:
Existem scripts fornecidos pelo sistema (em /libs/sling/servlet/errorhandler
) para responder a códigos de erro; por padrão, os seguintes estão disponíveis com uma instância CQ padrão:
- 403.jsp
- 404.jsp
Como personalizar páginas mostradas pelo manipulador de erros how-to-customize-pages-shown-by-the-error-handler
Você pode desenvolver seus próprios scripts para personalizar as páginas mostradas pelo manipulador de erros quando um erro for encontrado. Suas páginas personalizadas são criadas em /apps
e sobrepõem as páginas padrão (que estão em /libs
).
-
No repositório, copie os scripts padrão:
- de
/libs/sling/servlet/errorhandler/
- para
/apps/sling/servlet/errorhandler/
Como o caminho de destino não existe por padrão, você deve criá-lo ao fazer isso pela primeira vez.
- de
-
Navegue até
/apps/sling/servlet/errorhandler
e execute um dos procedimentos a seguir:- edite o script existente apropriado para que você possa fornecer as informações necessárias.
- crie e edite um novo script para o código necessário.
-
Salve as alterações e teste.
Personalização da resposta a erros HTTP 500 customizing-the-response-to-http-errors
Os erros HTTP 500 são causados por exceções do lado do servidor.
- Erro Interno do Servidor
O servidor encontrou uma condição inesperada que o impediu de atender à solicitação.
Quando o processamento de solicitações resulta em uma exceção, a estrutura do Apache Sling (em que o AEM está integrado):
-
registra a exceção
-
devoluções:
- o código de resposta HTTP 500
- o rastreamento de pilha de exceção
no corpo da resposta.
Com a personalização das páginas mostradas pelo manipulador de erros, um script 500.jsp
pode ser criado. No entanto, ele só é usado se HttpServletResponse.sendError(500)
for executado explicitamente; ou seja, a partir de um capturador de exceção.
Caso contrário, o código de resposta será definido como 500, mas o script 500.jsp
não será executado.
Para tratar erros 500, o nome de arquivo do script do manipulador de erros deve ser igual à classe de exceção (ou superclasse). Para lidar com todas essas exceções, você pode criar um script /apps/sling/servlet/errorhandler/Throwable.js
p ou /apps/sling/servlet/errorhandler/Exception.jsp
.