Personalización de páginas de error :headding-anchor:customizing-error-pages
AEM viene con un controlador de error estándar para la administración de errores HTTP; por ejemplo, mostrando:
AEM Para responder a los errores, proporciona un script de 404.jsp
en /libs/sling/servlet/errorhandler
.
Personalizar páginas mostradas por el controlador de error :headding-anchor: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. AEM Para ello, usa el mecanismo de superposición estándarde para que las páginas personalizadas se creen en /apps
y se superpongan 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/
La ruta de destino no existe de forma predeterminada, por lo que debe crearla al hacerlo por primera vez.
- de
-
Navegue hasta
/apps/sling/servlet/errorhandler
. Aquí puede hacer lo siguiente:- edite la secuencia de comandos existente adecuada para proporcionar la información necesaria. O bien
- cree y edite un nuevo script para el código requerido.
-
Guarde los cambios y pruebe.
404.jsp
se ha diseñado específicamente para permitir la autenticación de la; en particular, para permitir el inicio de sesión del sistema en caso de que se produzcan estos errores.Personalización de la Respuesta a Errores HTTP 500 :headding-anchor:customizing-the-response-to-http-errors
El error interno del servidor HTTP 500 indica un error del lado del servidor, como que el servidor encontró una condición inesperada que le impidió 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 el procesamiento de la):
-
Registra la excepción
-
Y vuelve en el cuerpo de la respuesta:
- El código de respuesta HTTP 500
- El seguimiento de pila de excepciones
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.jsp
o /apps/sling/servlet/errorhandler/Exception.jsp
.
x-aem-error-pass: true
.AEM Esto solo funciona para respuestas procedentes de la capa de o de Apache/Dispatcher. Otros errores inesperados procedentes de capas de infraestructura intermedias seguirán mostrando la página de error genérica.