Personalização de Páginas de Erro customizing-error-pages
O AEM vem com um manipulador de erros padrão para lidar com erros HTTP; por exemplo, mostrando:
Para responder a erros, o AEM fornece um script 404.jsp
em /libs/sling/servlet/errorhandler
.
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. Para fazer isso, você usa o mecanismo de sobreposição padrão do AEM para que suas páginas personalizadas sejam criadas em /apps
e sobreponham as páginas padrão em /libs
.
-
No repositório, copie o(s) script(s) padrão:
- de
/libs/sling/servlet/errorhandler/
- para
/apps/sling/servlet/errorhandler/
O caminho de destino não existe por padrão, portanto, é necessário criá-lo ao fazer isso pela primeira vez.
- de
-
Navegue até
/apps/sling/servlet/errorhandler
. Aqui é possível:- edite o script existente apropriado para fornecer as informações necessárias. Ou
- crie e edite um novo script para o código necessário.
-
Salve as alterações e teste.
404.jsp
foi projetado especificamente para atender à autenticação AEM; especificamente, para permitir o logon do sistema no caso desses erros.Personalização da resposta a erros HTTP 500 customizing-the-response-to-http-errors
O HTTP 500 Erro Interno do Servidor indica um erro do lado do servidor, como o servidor ter encontrado uma condição inesperada que o impediu de atender à solicitação.
Quando o processamento de solicitações resulta em uma exceção, a estrutura Apache Sling (na qual o AEM é integrado):
-
Registra a exceção
-
E retorna no corpo da resposta:
- O código de resposta HTTP 500
- O rastreamento de pilha de exceção
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.jsp
ou /apps/sling/servlet/errorhandler/Exception.jsp
.
x-aem-error-pass: true
.Isso funciona somente para respostas provenientes do AEM ou da camada Apache/Dispatcher. Outros erros inesperados provenientes de camadas de infraestrutura intermediária ainda exibirão a página de erro genérico.