Anpassen der vom Fehler-Handler angezeigten Seiten

AEM enthält einen Standard-Fehlerhandler für die Verarbeitung von HTTP-Fehlern. Beispiel:

chlimage_1-67

Systembereitgestellte Skripten existieren (unter /libs/sling/servlet/errorhandler), um auf Fehlercodes zu reagieren. Standardmäßig sind bei einer Standard-CQ-Instanz folgende Skripten verfügbar:

  • 403.jsp
  • 404.jsp
HINWEIS

AEM basiert auf Apache Sling, daher finden Sie unter https://sling.apache.org/site/errorhandling.html detaillierte Informationen zum Sling Error Handling.

HINWEIS

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. Ihre benutzerdefinierten Seiten werden unter /apps erstellt und überlagern die Standardseiten (die unter /libs stehen).

HINWEIS

Unter Verwendung von Überlagerungen finden Sie weitere Informationen.

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

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

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 serverseitigen Ausnahmefehlern verursacht.

Wenn die Verarbeitung von Anforderungen eine Ausnahme ergibt, wird das Apache Sling-Framework (das auf 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. Sie wird jedoch nur verwendet, wenn HttpServletResponse.sendError(500) explizit ausgeführt wird. d. h. von einem Ausnahmenfänger.

Andernfalls wird der Antwortcode auf gesetzt, aber das Skript 500.jsp500. 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.jsp oder /apps/sling/servlet/errorhandler/Exception.jsp erstellen.

VORSICHT

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

Auf dieser Seite

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now