Personalização da resposta a erros HTTP 500

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

Experience Manager