Personalizar páginas mostradas por el controlador de error customizing-pages-shown-by-the-error-handler
Adobe Experience Manager AEM () viene con un controlador de error estándar para administrar errores HTTP; por ejemplo, mostrando:
Los scripts proporcionados por el sistema existen (en /libs/sling/servlet/errorhandler
) para responder a códigos de error. De forma predeterminada, los siguientes scripts están disponibles con una instancia de CQ estándar:
- 403.jsp
- 404.jsp
Personalizar páginas mostradas por el controlador de error how-to-customize-pages-shown-by-the-error-handler
Puede desarrollar sus propias secuencias de comandos para personalizar las páginas que muestra el controlador de errores cuando se produce un error. Sus páginas personalizadas se crean en /apps
y se superponen a las páginas predeterminadas (que se encuentran en /libs
).
-
En el repositorio, copie los scripts predeterminados:
- de
/libs/sling/servlet/errorhandler/
- hasta
/apps/sling/servlet/errorhandler/
Como la ruta de destino no existe de forma predeterminada, debe crearla al hacerlo por primera vez.
- de
-
Vaya a
/apps/sling/servlet/errorhandler
y realice una de las acciones siguientes:- edite la secuencia de comandos existente adecuada para poder proporcionar la información necesaria.
- cree y edite un nuevo script para el código requerido.
-
Guarde los cambios y pruebe.
Personalización de la Respuesta a Errores HTTP 500 customizing-the-response-to-http-errors
Los errores de HTTP 500 se deben a excepciones del lado del servidor.
- Error interno del servidor 500
El servidor encontró una condición inesperada que le impedía cumplir la solicitud.
AEM Cuando el procesamiento de solicitudes resulta en una excepción, el marco de trabajo de Apache Sling (en el que se basa ese):
-
registra la excepción
-
devuelve:
- el código de respuesta HTTP 500
- el seguimiento de pila de excepciones
en el cuerpo de la respuesta.
Si personaliza las páginas mostradas por el controlador de error, se puede crear un script 500.jsp
. Sin embargo, solo se usa si HttpServletResponse.sendError(500)
se ejecuta explícitamente; es decir, desde un receptor de excepciones.
De lo contrario, el código de respuesta se establece en 500, pero no se ejecuta el script 500.jsp
.
Para controlar 500 errores, el nombre de archivo de la secuencia de comandos del controlador de errores debe ser el mismo que la clase de excepción (o superclase). Para controlar todas estas excepciones, puede crear un script /apps/sling/servlet/errorhandler/Throwable.js
p o /apps/sling/servlet/errorhandler/Exception.jsp
.