Frage

Wie kann ich benutzerdefinierte Skripten oder Fehlerbehebungen erstellen, die verschiedene HTTP-Fehler rendern?

Antwort, Auflösung

Die Standard-Fehlerbehebungsskripten befinden sich unter /libs/sling/servlet/errorhandler.

Sie können die Standard-Fehlerbehebung überlagern, indem Sie das Skript, das Sie personalisieren möchten, aus /libs/sling/servlet/errorhandler an denselben Speicherort unter /apps (d. h. /apps/sling/servlet/errorhandler) kopieren. Erstellen Sie diesen Pfad, wenn er nicht vorhanden ist (standardmäßig nicht vorhanden).

Beispiel: Sie können die Behebung von 404 Fehlern anpassen, indem Sie /libs/sling/servlet/errorhandler/404.jsp nach /apps/sling/servlet/errorhandler/404.jsp kopieren

Die Fehler HTTP 500 werden durch Serverseitenausnahmen verursacht. Wenn die Anforderungsverarbeitung zu einer Ausnahme führt, basiert das Apache Sling-Framework CQ auf der Protokollierung der Ausnahme und gibt den http-Fehlercode 500 und den Ausnahme-Stack-Trace im Hauptteil der Antwort aus.

Um 500-Fehler zu verarbeiten, muss der Dateiname eines Fehlerlenkerskripts identisch mit der Ausnahmeklasse (oder sie ist eine Superklasse) sein. Um beispielsweise alle Ausnahmen zu beheben, erstellen Sie ein Skript /apps/sling/servlet/errorhandler/Throwable.jsp.

Weitere Informationen zur Sling-Fehler-Behebung finden Sie in der folgenden Dokumentation. http://sling.apache.org/site/errorhandling.html

Hinweis: Der 500.jsp wird nur vorgenommen, wenn HttpServletResponse.sendError(500) explizit ausgeführt wird, d. h. durch einen Ausnahme-Fänger.
Anderenfalls wird der Antwortcode nur auf 500 gesetzt, aber das 500.jsp wird nicht ausgeführt.
In diesem Fall können Sie eine Exception.jsp hinzufügen, um alle Ausnahmefehler zu beheben.

Hinweis: Auf einer Autoren-Instanz ist der CQ-WCM-Filter zur Fehlerbehebung standardmäßig aktiviert. Dies führt immer zu einem Antwortcode 200 und das Programm löst den standardmäßigen Mechanismus zur Fehlerbehebung aus, der die vollständige Stack-Spur der Antwort schreibt. Bei einer veröffentlichenden Instanz ist der CQ-WCM-Filter zur Fehlerbehebung immer deaktiviert (auch wenn Sie ihn so konfigurieren, dass er aktiviert wird).

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie