Anpassen der vom Fehler-Handler angezeigten Seiten

AEM enthält einen Standard-Fehler-Handler für die Verarbeitung von HTTP-Fehlern. Beispielsweise wird Folgendes gezeigt:

chlimage_1-67

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
HINWEIS

AEM basiert auf Apache Sling. Sie finden unter https://sling.apache.org/site/errorhandling.html also genaue Informationen zur Sling-Fehlerbehandlung.

HINWEIS

In Autoreninstanzen ist CQ WCM Debug Filter standardmäßig aktiviert. Das Ergebnis ist immer der Antwort-Code 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. Die angepassten Seiten werden unter /apps erstellt und überlagern die Standardseiten (die unter /libs zu finden sind).

HINWEIS

Unter Verwendung von Überlagerungen finden Sie weitere Informationen.

  1. Kopieren Sie im Repository das/die Standardskript(e):

    • 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.

  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.

VORSICHT

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 Server-seitigen Ausnahmefehlern verursacht.

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

  • Folgendes wird zurückgegeben:

    • der HTTP-Antwort-Code 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. 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.

VORSICHT

In Autoreninstanzen ist CQ WCM Debug Filter standardmäßig aktiviert. Das Ergebnis ist immer der Antwort-Code 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 Antwort-Code 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).

Auf dieser Seite