Pagine Gestore Errori Personalizzate
Descrizione description
Ambiente
Experience Manager
Problema/Sintomi
Come posso creare script personalizzati o gestori di errori che eseguono il rendering di diversi errori HTTP?
Risoluzione resolution
Gli script predefiniti del gestore degli errori si trovano in /libs/sling/servlet/errorhandler.
Puoi sovrapporre la gestione degli errori predefinita copiando lo script che desideri personalizzare da /libs/sling/servlet/errorhandler nella stessa posizione in /apps (ad esempio /apps/sling/servlet/errorhandler). Crea questo percorso se non esiste (per impostazione predefinita non esiste).
Ad esempio, puoi personalizzare la gestione degli errori 404 copiando /libs/sling/servlet/errorhandler/404.jsp in /apps/sling/servlet/errorhandler/404.jsp
Gli errori http 500 sono causati da eccezioni sul lato server. Quando l’elaborazione delle richieste genera un’eccezione, il framework CQ di Apache Sling si basa sui registri dell’eccezione e restituisce il codice di errore http 500 e la traccia dello stack dell’eccezione nel corpo della risposta.
Per gestire gli errori 500, il nome di file di uno script del gestore degli errori deve essere uguale a quello della classe di eccezione (o della relativa superclasse). Ad esempio, per gestire tutte le eccezioni, crea uno script /apps/sling/servlet/errorhandler/Throwable.jsp.
Fare riferimento a Gestione degli errori Sling per ulteriori informazioni.
Nota: 500.jsp viene utilizzato solo se HttpServletResponse.sendError(500) viene eseguito in modo esplicito, ovvero da un servizio di raccolta eccezioni.
In caso contrario, solo il codice di risposta è impostato su 500, ma il file 500.jsp non viene eseguito.
In questo caso puoi aggiungere una Eccezione.jsp per gestire tutte queste eccezioni.
Nota: in un’istanza di authoring il filtro di debug CQ WCM è abilitato per impostazione predefinita. Questo porta sempre a un codice di risposta 200 e viene preso il gestore di errori predefinito che scrive la traccia full stack nella risposta. In un’istanza di pubblicazione il filtro di debug CQ WCM è sempre disattivato (anche se lo configuri per essere attivato)…