Anpassen der vom Fehler-Handler angezeigten Seiten customizing-pages-shown-by-the-error-handler
Adobe Experience Manager (AEM) enthält einen Standard-Fehler-Handler für die Verarbeitung von HTTP-Fehlern. Beispielsweise wird Folgendes gezeigt:
Das System stellt Skripte (unter /libs/sling/servlet/errorhandler
) bereit, um auf Fehler-Codes zu reagieren. Standardmäßig sind folgende Skripte mit einer Standard-CQ-Instanz verfügbar:
- 403.jsp
- 404.jsp
Anpassen der vom Fehler-Handler angezeigten Seiten how-to-customize-pages-shown-by-the-error-handler
Sie können Ihre eigenen Skripte erstellen, um die Seiten anzupassen, die der Fehler-Handler anzeigt, wenn ein Fehler auftritt. Die angepassten Seiten werden unter /apps
erstellt und überlagern die Standardseiten (die unter /libs
zu finden sind).
-
Kopieren Sie im Repository die Standardskripte:
- von
/libs/sling/servlet/errorhandler/
- nach
/apps/sling/servlet/errorhandler/
Da der Zielpfad standardmäßig nicht vorhanden ist, müssen Sie ihn erstellen, wenn Sie diesen Vorgang zum ersten Mal durchführen.
- von
-
Navigieren Sie zu
/apps/sling/servlet/errorhandler
und führen Sie einen der folgenden Schritte aus:- das entsprechende vorhandene Skript bearbeiten, um die benötigten Informationen anzugeben.
- ein neues Skript für den erforderlichen Code erstellen und bearbeiten.
-
Speichern Sie die Änderungen und testen Sie sie.
Anpassung der Reaktion auf HTTP 500-Fehler customizing-the-response-to-http-errors
HTTP 500-Fehler werden von Server-seitigen Ausnahmefehlern verursacht.
- 500 Interner Serverfehler Der Server hat einen unerwarteten Zustand entdeckt und kann daher die Anfrage nicht erfüllen.
Wenn die Bearbeitung einer Anfrage zu einem Ausnahmefehler führt, führt das Apache Sling-Framework (auf dem AEM basiert) folgende Schritte durch:
-
Protokollierung des Ausnahmefehlers
-
Rückgabe:
- der HTTP-Antwort-Code 500
- der Stacktrace des Ausnahmefehlers
im Hauptteil der Antwort.
Indem Sie die Seiten anpassen, die der Fehler-Handler zeigt, können Sie ein 500.jsp
-Skript erstellen. Es wird jedoch nur verwendet, wenn HttpServletResponse.sendError(500)
explizit ausgeführt wird, d. h. von einem Abfangalgorithmus für Ausnahmen.
Andernfalls wird der Antwort-Code auf „500“ gesetzt, aber das 500.jsp
-Skript wird nicht ausgeführt.
Um 500-Fehler zu verarbeiten, muss der Dateiname des Fehler-Handler-Skripts identisch mit der Ausnahmeklasse (oder der übergeordneten Klasse) sein. Um alle derartigen Ausnahmen zu bearbeiten, können Sie ein /apps/sling/servlet/errorhandler/Throwable.js
- oder /apps/sling/servlet/errorhandler/Exception.jsp
-Skript erstellen.