Personalización de páginas que muestra el Controlador de errores customizing-pages-shown-by-the-error-handler

CAUTION
AEM 6.4 ha llegado al final de la compatibilidad ampliada y esta documentación ya no se actualiza. Para obtener más información, consulte nuestra períodos de asistencia técnica. Buscar las versiones compatibles here.

AEM incluye un controlador de error estándar para gestionar errores HTTP; por ejemplo, mostrando:

chlimage_1-67

Existen scripts proporcionados por el sistema (en /libs/sling/servlet/errorhandler) para responder a los códigos de error, de forma predeterminada están disponibles con una instancia de CQ estándar:

  • 403.jsp
  • 404.jsp
NOTE
AEM se basa en Apache Sling, por lo que consulte https://sling.apache.org/site/errorhandling.html para obtener información detallada sobre la gestión de errores de Sling.
NOTE
En una instancia de autor, Filtro de depuración de CQ WCM está activada de forma predeterminada. Esto siempre resulta en el código de respuesta 200. El controlador de error predeterminado responde escribiendo el seguimiento completo de la pila en la respuesta.
En una instancia de publicación, el filtro de depuración de CQ WCM es always deshabilitado (incluso si está configurado como habilitado).

Cómo personalizar páginas que muestra el Administrador de errores 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 encuentra un error. Las páginas personalizadas se crearán en /apps y superponga las páginas predeterminadas (que se encuentran en /libs).

NOTE
Consulte Uso de superposiciones para obtener más información.
  1. 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, deberá crearla al hacerlo por primera vez.

  2. Navegue hasta /apps/sling/servlet/errorhandler. Aquí puede:

    • edite la secuencia de comandos existente adecuada para proporcionar la información necesaria.
    • cree y edite una nueva secuencia de comandos para el código requerido.
  3. Guarde los cambios y pruebe.

CAUTION
Los controladores 404.jsp y 403.jsp se han diseñado específicamente para adaptarse a la autenticación CQ5; en particular, permitir el inicio de sesión en el sistema en caso de estos errores.
Por lo tanto, la sustitución de estos dos controladores debe realizarse con bueno cuidado.

Personalización de la respuesta a errores HTTP 500 customizing-the-response-to-http-errors

Los errores HTTP 500 están causados por excepciones del lado del servidor.

Cuando el procesamiento de la solicitud resulta en una excepción, el marco de trabajo Apache Sling (AEM está activado):

  • registra la excepción

  • devuelve:

    • el código de respuesta HTTP 500
    • seguimiento de la pila de excepciones

    en el cuerpo de la respuesta.

Por personalización de las páginas que muestra el controlador de errores a 500.jsp se puede crear una secuencia de comandos. Sin embargo, solo se usa si HttpServletResponse.sendError(500) se ejecuta explícitamente; es decir, desde un captador de excepciones.

De lo contrario, el código de respuesta se establece en 500, pero la variable 500.jsp no se ejecuta la secuencia de comandos.

Para gestionar 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 gestionar todas estas excepciones, puede crear una secuencia de comandos /apps/sling/servlet/errorhandler/Throwable.jsp o /apps/sling/servlet/errorhandler/Exception.jsp.

CAUTION
En una instancia de autor, Filtro de depuración de CQ WCM está activada de forma predeterminada. Esto siempre resulta en el código de respuesta 200. El controlador de error predeterminado responde escribiendo el seguimiento completo de la pila en la respuesta.
Para un controlador de error personalizado, se necesitan respuestas con el código 500, por lo que se requiere la variable El filtro de depuración de CQ WCM debe deshabilitarse. Esto garantiza que se devuelva el código de respuesta 500, que a su vez déclencheur el gestor de errores de Sling correcto.
En una instancia de publicación, el filtro de depuración de CQ WCM es always deshabilitado (incluso si está configurado como habilitado).
recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e