Foutpagina's aanpassen customizing-error-pages
AEM wordt geleverd met een standaardfouthandler voor de afhandeling van HTTP-fouten, bijvoorbeeld door het volgende weer te geven:
Als u op fouten wilt reageren, biedt AEM een 404.jsp
script onder /libs/sling/servlet/errorhandler
.
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. Om dit te doen gebruikt u AEM standaardbedekkingsmechanisme zodat uw aangepaste pagina's onder /apps
en bedekken de standaardpagina's die onder zijn /libs
.
-
Kopieer het standaardscript of de standaardscripts in de gegevensopslagruimte:
- Van
/libs/sling/servlet/errorhandler/
- tot
/apps/sling/servlet/errorhandler/
Het doelpad bestaat niet standaard. U moet het dus maken wanneer u dit voor het eerst doet.
- Van
-
Ga naar
/apps/sling/servlet/errorhandler
. Hier kunt u:- bewerk het juiste bestaande script om de vereiste informatie op te geven. of
- Maak en bewerk een nieuw script voor de vereiste code.
-
Sla de wijzigingen op en test u deze.
404.jsp
het script is specifiek ontworpen om rekening te houden met AEM verificatie, met name om systeemaanmelding mogelijk te maken in het geval van deze fouten.De reactie op HTTP 500-fouten aanpassen customizing-the-response-to-http-errors
De HTTP 500 Interne serverfout Hiermee wordt een serverfout aangegeven, zoals de server die een onverwachte voorwaarde tegenkomt waardoor deze de aanvraag niet heeft kunnen uitvoeren.
Wanneer de verzoekverwerking in een uitzondering resulteert, het kader Apache Sling (dat AEM wordt voortgebouwd op):
-
Hiermee wordt de uitzondering geregistreerd
-
En retourneert in de hoofdtekst van de respons:
- De HTTP-responscode 500
- De uitzonderingsstapeltracering
Door aanpassen van de pagina's die worden weergegeven door de fouthandler a 500.jsp
kan worden gemaakt. Het wordt echter alleen gebruikt als HttpServletResponse.sendError(500)
wordt uitgevoerd uitdrukkelijk; namelijk van een uitzonderingsvanger.
Anders is de antwoordcode ingesteld op 500, maar wordt de 500.jsp
script 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 tot stand brengen /apps/sling/servlet/errorhandler/Throwable.jsp
of /apps/sling/servlet/errorhandler/Exception.jsp
.
x-aem-error-pass: true
.Dit werkt alleen voor reacties die afkomstig zijn van AEM of de laag Apache/Dispatcher. Andere onverwachte fouten die uit tussenliggende infrastructuurlagen komen zullen nog de generische foutenpagina tonen.