Anpassa sidor som visas av felhanteraren customizing-pages-shown-by-the-error-handler
Adobe Experience Manager (AEM) har en standardfelhanterare för hantering av HTTP-fel, till exempel genom att visa:
Det finns systemtillhandahållna skript (under /libs/sling/servlet/errorhandler
) för att svara på felkoder. Som standard är följande tillgängliga med en standard-CQ-instans:
- 403.jsp
- 404.jsp
Anpassa sidor som visas av felhanteraren how-to-customize-pages-shown-by-the-error-handler
Du kan utveckla egna skript för att anpassa sidorna som visas i felhanteraren när ett fel inträffar. Dina anpassade sidor skapas under /apps
och täcker över standardsidorna (som finns under /libs
).
-
Kopiera standardskripten i databasen:
- från
/libs/sling/servlet/errorhandler/
- till
/apps/sling/servlet/errorhandler/
Eftersom målsökvägen inte finns som standard måste du skapa den första gången du gör det.
- från
-
Navigera till
/apps/sling/servlet/errorhandler
och gör något av följande:- redigera det befintliga skriptet så att du kan ange den information som behövs.
- skapa och redigera ett nytt skript för den kod som behövs.
-
Spara ändringarna och testa.
Anpassa svaret till HTTP 500-fel customizing-the-response-to-http-errors
HTTP 500-fel orsakas av undantag på serversidan.
- 500 Internt serverfel
Servern påträffade ett oväntat tillstånd som gjorde att den inte kunde slutföra begäran.
När bearbetningen av en begäran resulterar i ett undantag, är Apache Sling-ramverket (som AEM bygger på):
-
loggar undantaget
-
returnerar:
- HTTP-svarskod 500
- stackspårning för undantag
i svarets brödtext.
Genom att anpassa sidorna som visas av felhanteraren kan ett 500.jsp
-skript skapas. Den används dock bara om HttpServletResponse.sendError(500)
körs explicit, det vill säga från en undantagskatalog.
Annars är svarskoden inställd på 500, men skriptet 500.jsp
körs inte.
Om du vill hantera 500 fel måste filnamnet för felhanterarskriptet vara detsamma som undantagsklassen (eller superklassen). Om du vill hantera alla sådana undantag kan du skapa ett skript /apps/sling/servlet/errorhandler/Throwable.js
p eller /apps/sling/servlet/errorhandler/Exception.jsp
.