Pagina's aanpassen die worden weergegeven door de fouthandler customizing-pages-shown-by-the-error-handler
Adobe Experience Manager (AEM) wordt geleverd met een standaardfouthandler voor de afhandeling van HTTP-fouten, bijvoorbeeld door het volgende weer te geven:
Door het systeem verschafte scripts bestaan (onder /libs/sling/servlet/errorhandler
) om te reageren op foutcodes. Standaard zijn de volgende scripts beschikbaar met een standaard CQ-instantie:
- 403.jsp
- 404.jsp
Hoe te om Pagina's aan te passen die door de Handler van de Fout worden getoond how-to-customize-pages-shown-by-the-error-handler
U kunt uw eigen scripts ontwikkelen om de pagina's aan te passen die door de fouthandler worden weergegeven wanneer een fout optreedt. De aangepaste pagina's worden gemaakt onder /apps
en bedekken de standaardpagina's (onder /libs
).
-
Kopieer de standaardscripts in de opslagplaats:
- Van
/libs/sling/servlet/errorhandler/
- tot
/apps/sling/servlet/errorhandler/
Aangezien het bestemmingspad niet standaard bestaat, moet u het creƫren wanneer het doen dit voor het eerst.
- Van
-
Navigeer naar
/apps/sling/servlet/errorhandler
en voer een van de volgende handelingen uit:- bewerk het juiste bestaande script, zodat u de vereiste informatie kunt opgeven.
- Maak en bewerk een nieuw script voor de vereiste code.
-
Sla de wijzigingen op en test u deze.
De reactie op HTTP 500-fouten aanpassen customizing-the-response-to-http-errors
HTTP 500 fouten worden veroorzaakt door server-zijuitzonderingen.
- 500 Interne Fout van de Server
De server heeft een onverwachte voorwaarde aangetroffen waardoor deze de aanvraag niet kan uitvoeren.
Wanneer de verzoekverwerking in een uitzondering resulteert, het kader van Apache Sling (dat AEM wordt voortgebouwd op):
-
meldt de uitzondering
-
retourneert:
- de HTTP-antwoordcode 500
- de spoor van de uitzonderingsstapel
in het lichaam van de reactie.
Door aan te passen kunnen de pagina's die door de foutenmanagerworden getoond a 500.jsp
manuscript worden gecreeerd. Deze wordt echter alleen gebruikt als HttpServletResponse.sendError(500)
expliciet wordt uitgevoerd, dat wil zeggen van een uitzonderingscatcher.
Anders is de antwoordcode ingesteld op 500, maar wordt het script 500.jsp
niet uitgevoerd.
Als u 500 fouten wilt afhandelen, moet de bestandsnaam van het script van de fouthandler gelijk zijn aan de uitzonderingsklasse (of superklasse). Om al dergelijke uitzonderingen te behandelen, kunt u een manuscript /apps/sling/servlet/errorhandler/Throwable.js
p of /apps/sling/servlet/errorhandler/Exception.jsp
tot stand brengen.