Personalização de páginas mostradas pelo Manipulador de erros customizing-pages-shown-by-the-error-handler

CAUTION
AEM 6.4 chegou ao fim do suporte estendido e esta documentação não é mais atualizada. Para obter mais detalhes, consulte nossa períodos de assistência técnica. Encontre as versões compatíveis here.

AEM vem com um manipulador de erros padrão para lidar com erros HTTP; por exemplo, mostrando:

chlimage_1-67

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
NOTE
AEM é baseado no Apache Sling, portanto, consulte https://sling.apache.org/site/errorhandling.html para obter informações detalhadas sobre o Tratamento de erros do Sling.
NOTE
Em uma instância do autor, Filtro de depuração do CQ WCM está ativada por padrão. Isso sempre resulta no código de resposta 200. O manipulador de erros padrão responde gravando o rastreamento completo da pilha na resposta.
Em uma instância de publicação, o Filtro de depuração do CQ WCM é always desativado (mesmo se configurado como ativado).

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).

NOTE
Consulte Uso de sobreposições para obter mais detalhes.
  1. 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.

  2. 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.
  3. Salve as alterações e teste.

CAUTION
Os manipuladores 404.jsp e 403.jsp foram projetados especificamente para atender à autenticação CQ5; em particular, para permitir o login do sistema no caso desses erros.
Por conseguinte, a substituição destes dois manipuladores deve ser feita com grande cuidado.

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.

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.jsp ou /apps/sling/servlet/errorhandler/Exception.jsp.

CAUTION
Em uma instância do autor, Filtro de depuração do CQ WCM está ativada por padrão. Isso sempre resulta no código de resposta 200. O manipulador de erros padrão responde gravando o rastreamento completo da pilha na resposta.
Para um manipulador de erros personalizado, as respostas com código 500 são necessárias, portanto, a variável O filtro de depuração do CQ WCM precisa ser desativado. Isso garante que o código de resposta 500 seja retornado, o que, por sua vez, aciona o manipulador de erros do Sling correto.
Em uma instância de publicação, o Filtro de depuração do CQ WCM é always desativado (mesmo se configurado como ativado).
recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e