Show Menu
THEMEN×

Anpassen der vom Fehler-Handler angezeigten Seiten

AEM verfügt über einen Standard-Fehlerhandler zur Verarbeitung von HTTP-Fehlern. Beispiel:
System provided scripts exist (under /libs/sling/servlet/errorhandler ) to respond to error codes, by default the following are available with a standard CQ instance:
  • 403.jsp
  • 404.jsp
AEM is based on Apache Sling, so see https://sling.apache.org/site/errorhandling.html for detailed information about Sling Error Handling.
In Autoreninstanzen ist CQ WCM Debug Filter standardmäßig aktiviert. Das Ergebnis ist immer der Antwortcode 200. Der standardmäßige Fehler-Handler schreibt als Reaktion die vollständige Stacktrace in die Antwort.
In Veröffentlichungsinstanzen ist CQ WCM Debug Filter immer deaktiviert (selbst wenn er als aktiviert konfiguriert ist).

Anpassung der vom Fehler-Handler angezeigten Seiten

Sie können Ihre eigenen Skripte erstellen, um die Seiten anzupassen, die der Fehler-Handler anzeigt, wenn ein Fehler auftritt. Your customized pages will be created under /apps and overlay the default pages (that are under /libs ).
Unter Verwendung von Überlagerungen finden Sie weitere Informationen.
  1. Kopieren Sie im Repository das/die Standardskript(e):
    • from /libs/sling/servlet/errorhandler/
    • in /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.
  2. Navigieren Sie zu /apps/sling/servlet/errorhandler . Hier können Sie entweder:
    • das entsprechende vorhandene Skript bearbeiten, um die benötigten Informationen anzugeben.
    • ein neues Skript für den erforderlichen Code erstellen und bearbeiten.
  3. Speichern Sie die Änderungen und testen Sie sie.
Die Handler 404.jsp und 403.jsp sind speziell für die CQ5-Authentifizierung entwickelt. Insbesondere ermöglichen sie eine Systemanmeldung, wenn diese Fehler auftreten.
Daher sollten Sie diese Handler nur mit größter Vorsicht ersetzen.

Anpassung der Reaktion auf HTTP 500-Fehler

HTTP 500-Fehler werden von serverseitigen Ausnahmefehlern verursacht.
Wenn die Verarbeitung von Anforderungen eine Ausnahme ergibt, wird das Apache Sling-Framework (auf dem AEM basiert) wie folgt ausgeführt:
  • Protokollierung des Ausnahmefehlers
  • Folgendes wird zurückgegeben:
    • der HTTP-Antwortcode 500
    • Der Stacktrace des Ausnahmefehlers
    im Haupttext der Antwort.
Indem Sie die Seiten anpassen, die der Fehler-Handler zeigt , können Sie ein 500.jsp -Skript erstellen. However, it is only used if HttpServletResponse.sendError(500) is executed explicitly; i.e. from an exception catcher.
Andernfalls wird der Antwortcode auf gesetzt, aber das Skript 500.jsp 500. 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 Skript /apps/sling/servlet/errorhandler/Throwable.js p oder /apps/sling/servlet/errorhandler/Exception.jsp .
In Autoreninstanzen ist CQ WCM Debug Filter standardmäßig aktiviert. Das Ergebnis ist immer der Antwortcode 200. Der standardmäßige Fehler-Handler schreibt als Reaktion die vollständige Stacktrace in die Antwort.
Für eine individuelle Fehlerverarbeitung sind Antworten mit Code 500 erforderlich. Der CQ WCM Debug-Filter muss also deaktiviert sein . Dadurch wird sichergestellt, dass der Antwortcode 500 zurückgegeben wird, was wiederum den richtigen Sling-Fehler-Handler auslöst.
In Veröffentlichungsinstanzen ist CQ WCM Debug Filter immer deaktiviert (selbst wenn er als aktiviert konfiguriert ist).