Personalização de páginas mostradas pelo Manipulador de erros customizing-pages-shown-by-the-error-handler
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, as seguintes informações estão disponíveis com uma instância padrão do CQ:
- 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 serão criadas em /apps
e sobrepor 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ê precisará criá-lo ao fazer isso pela primeira vez.
- de
-
Vá até
/apps/sling/servlet/errorhandler
. Aqui você pode:- edite o script existente apropriado para 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 500
O servidor encontrou uma condição inesperada que o impedia de atender à solicitação.
Quando o processamento da solicitação resulta em uma exceção, a estrutura do Apache Sling (que AEM é criada):
-
registra a exceção
-
retorna:
- o código de resposta HTTP 500
- o rastreamento da pilha de exceções
no corpo da resposta.
Por personalização das páginas mostradas pelo manipulador de erros a 500.jsp
é possível criar um script. No entanto, ele só será usado se HttpServletResponse.sendError(500)
é executado explicitamente; ou seja, de um apanhador de exceções.
Caso contrário, o código de resposta será definido como 500, mas a variável 500.jsp
script não é executado.
Para lidar com erros 500, o nome do arquivo do script do manipulador de erros deve ser igual à classe de exceção (ou superclasse). Para lidar com todas essas exceções, é possível criar um script /apps/sling/servlet/errorhandler/Throwable.js
p ou /apps/sling/servlet/errorhandler/Exception.jsp
.