Pages de gestionnaire d’erreurs personnalisées

Description

Environnement
Experience Manager

Problème/Symptômes
Comment créer des scripts personnalisés ou des gestionnaires d’erreurs qui génèrent des erreurs HTTP différentes ?

Résolution

Les scripts du gestionnaire d’erreurs par défaut se trouvent sous /libs/sling/servlet/errorhandler.

Vous pouvez superposer la gestion des erreurs par défaut en copiant le script que vous souhaitez personnaliser à partir de /libs/sling/servlet/errorhandler vers le même emplacement sous /apps (c’est-à-dire /apps/sling/servlet/errorhandler). Créez ce chemin s’il n’existe pas (il n’existe pas par défaut).

Par exemple, vous pouvez personnaliser la gestion des erreurs 404 en copiant /libs/sling/servlet/errorhandler/404.jsp vers /apps/sling/servlet/errorhandler/404.jsp

Les erreurs http 500 sont provoquées par des exceptions côté serveur. Lorsque le traitement des requêtes génère une exception, le CQ de la structure Apache Sling est basé sur les journaux de l’exception et renvoie le code d’erreur http 500 et la trace de la pile d’exceptions dans le corps de la réponse.

Pour gérer les erreurs 500, le nom de fichier d’un script de gestionnaire d’erreurs doit être identique à la classe d’exception (ou superclasse). Ainsi, par exemple, pour gérer toutes les exceptions, créez un script /apps/sling/servlet/errorhandler/Throwable.jsp.

Reportez-vous à la section Gestion des erreurs Sling pour plus d’informations.

Remarque: Le fichier 500.jsp n’est utilisé que si HttpServletResponse.sendError(500) est exécuté explicitement, c’est-à-dire à partir d’un collecteur d’exceptions.
Sinon, seul le code de réponse est défini sur 500, mais le fichier 500.jsp n’est pas exécuté.
Dans ce cas, vous pouvez ajouter une Exception.jsp pour gérer toutes ces exceptions.

Remarque: Sur une instance d’auteur, le filtre de débogage de la gestion du contenu web CQ est activé par défaut. Cela conduit toujours à un code de réponse 200 et le gestionnaire d’erreur par défaut est utilisé, ce qui écrit la trace de pile complète dans la réponse. Sur une instance de publication, le filtre de débogage de la gestion du contenu web CQ est toujours désactivé (également si vous le configurez pour qu’il soit activé).

Sur cette page