Ambiente
Experience Manager
Problema/Sintomas
Como posso criar scripts personalizados ou manipuladores de erros que renderizam erros HTTP diferentes?
Os scripts padrão do manipulador de erros estão localizados em /libs/sling/servlet/errorhandler.
Você pode sobrepor o tratamento de erros padrão copiando o script que gostaria de personalizar de /libs/sling/servlet/errorhandler para o mesmo local em /apps (ou seja, /apps/sling/servlet/errorhandler). Crie este caminho se ele não existir (ele não existe por padrão).
Por exemplo, você pode personalizar o tratamento de erros 404 copiando /libs/sling/servlet/errorhandler/404.jsp para /apps/sling/servlet/errorhandler/404.jsp
Os erros http 500 são causados por exceções do lado do servidor. Quando o processamento da solicitação resulta em uma exceção, a estrutura do Apache Sling CQ é baseada em logs da exceção e retorna o código de erro http 500 e o rastreamento da pilha de exceção no corpo da resposta.
Para lidar com erros 500, o nome de arquivo de um script de manipulador de erros deve ser igual à classe de exceção (ou sua superclasse). Assim, por exemplo, para lidar com todas as exceções, crie um script /apps/sling/servlet/errorhandler/Throwable.jsp.
Consulte Tratamento de erros do Sling para obter mais informações.
Observação: O 500.jsp é obtido somente se HttpServletResponse.sendError(500) for executado explicitamente, ou seja, de um apanhador de exceções.
Caso contrário, somente o código de resposta será definido como 500, mas o 500.jsp não será executado.
Nesse caso, é possível adicionar um Exception.jsp para lidar com todas essas exceções.
Observação: Em uma instância de autor, o Filtro de depuração do CQ WCM é ativado por padrão. Isso leva sempre a um código de resposta 200 e o Errorhandler padrão é obtido, o que grava o rastreamento completo da pilha na resposta. Em uma instância de publicação, o Filtro de depuração do CQ WCM é sempre desativado (também se você configurá-lo para ser ativado)…