Pregunta

¿Se puede crear scripts personalizados o gestores de errores que muestren diferentes errores HTTP?

Respuesta y resolución

Los scripts por defecto del gestor de errores se encuentran en /libs/sling/servlet/errorhandler.

Puede superponer la gestión de errores por defecto copiando el script que desea personalizar desde /libs/sling/servlet/errorhandler a la misma ubicación en /apps (es decir, /apps/sling/servlet/errorhandler). Cree esta ruta si no existe (por defecto no existe).

Por ejemplo, puede personalizar la entrega de los errores 404 copiando /libs/sling/servlet/errorhandler/404.jsp a /apps/sling/servlet/errorhandler/404.jsp

Los errores http 500 son causados por excepciones del lado del servidor. Cuando el procesamiento de una petición resulta en una excepción, el CQ del marco de trabajo del Sling Apache se basa en logs de la excepción y devuelve el código de error http 500 y el trazado de la pila de excepciones en el cuerpo de la respuesta.

Para manejar 500 errores el nombre de archivo de un script gestor de errores debe ser el mismo que el de la clase de excepción (o su superclase). Así, por ejemplo, para manejar todas las excepciones, cree un script /apps/sling/servlet/errorhandler/Throwable.jsp.

Consulte la siguiente documentación para obtener información adicional sobre el tratamiento de errores de Sling. http://sling.apache.org/site/errorhandling.html

Nota: El 500.jsp se toma solo si HttpServletResponse.sendError(500) se ejecuta explícitamente, es decir, desde un captador de excepciones.
De lo contrario, solo el código de respuesta se establece en 500, pero el 500.jsp no se ejecuta.
En este caso puede agregar un Exception.jsp para manejar todas estas excepciones.

Nota: En una instancia de autor, el Filtro de depuración de CQ WCM está habilitado por defecto. Esto conduce siempre a un código de respuesta 200 y se toma el Errorhandler por defecto que escribe el rastro de pila completo a la respuesta. En una instancia de publicación, el filtro de depuración de CQ WCM está siempre desactivado (también si lo configura para que esté activado)....

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea