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:
AEM is gebaseerd op Apache Sling, zo zie https://sling.apache.org/site/errorhandling.html voor gedetailleerde informatie over de Behandeling van de Fout van de Verkoop.
Voor een auteurinstantie, CQ WCM zuivert Filter wordt toegelaten door gebrek. Dit resulteert altijd in reactiecode 200. De standaardfoutenmanager antwoordt door het volledige stapelspoor aan de reactie te schrijven.
Voor een publicatie-instantie is CQ WCM Debug Filter always uitgeschakeld (zelfs als dit is geconfigureerd als ingeschakeld).
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 (die onder /libs
liggen).
Zie Bedekkingen gebruiken voor meer informatie.
Kopieer het standaardscript of de standaardscripts in de gegevensopslagruimte:
/libs/sling/servlet/errorhandler/
/apps/sling/servlet/errorhandler/
Aangezien het bestemmingspad niet standaard bestaat, zult u het moeten tot stand brengen wanneer het doen van dit voor het eerst.
Ga naar /apps/sling/servlet/errorhandler
. Hier kunt u:
Sla de wijzigingen op en test u deze.
De handlers 404.jsp en 403.jsp zijn specifiek ontworpen om voor authentificatie CQ5 te behandelen; met name om systeemaanmelding mogelijk te maken in het geval van deze fouten.
Daarom moeten deze twee handlers met grote zorg worden vervangen.
HTTP 500-fouten worden veroorzaakt door uitzonderingen aan de serverzijde.
Wanneer de verzoekverwerking in een uitzondering resulteert, het kader van Apache Sling (dat AEM wordt voortgebouwd op):
meldt de uitzondering
retourneert:
in het lichaam van de reactie.
Door het aanpassen van de pagina's die door foutenmanager worden getoond kan een 500.jsp
manuscript worden gecreeerd. Deze wordt echter alleen gebruikt als HttpServletResponse.sendError(500)
expliciet wordt uitgevoerd; d.w.z. 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.
Voor een auteurinstantie, CQ WCM zuivert Filter wordt toegelaten door gebrek. Dit resulteert altijd in reactiecode 200. De standaardfoutenmanager antwoordt door het volledige stapelspoor aan de reactie te schrijven.
Voor een douane fout-manager, zijn de reacties met code 500 nodig - zodat moet CQ WCM zuivert Filter worden onbruikbaar gemaakt. Dit zorgt ervoor dat reactiecode 500 is teruggekeerd, die beurtelings de correcte fout-manager van het Sling teweegbrengt.
Voor een publicatie-instantie is CQ WCM Debug Filter always uitgeschakeld (zelfs als dit is geconfigureerd als ingeschakeld).