Pagine di gestione degli errori personalizzati

Domanda

Come posso creare script personalizzati o gestori di errori che rendono diversi errori HTTP.

Risposta, Soluzione

Gli script predefiniti del gestore errori si trovano sotto /libs/sling/servlet/errorhandler.

È possibile sovrapporre la gestione degli errori di default copiando lo script che si desidera personalizzare da /libs/sling/servlet/errorhandler alla stessa posizione sotto /apps (cioè /apps/sling/servlet/errorhandler). Crea questo percorso se non esiste (non esiste di default).

Ad esempio, è possibile personalizzare la gestione degli errori 404 copiando /libs/sling/servlet/errorhandler/404.jsp to /apps/sling/servlet/errorhandler/404.jsp

Gli errori http 500 sono causati da eccezioni lato server. Quando l'elaborazione della richiesta si traduce in un'eccezione, il CQ del framework Apache Sling CQ è basato su log e restituisce il codice di errore http 500 e la traccia dello stack di eccezioni nel corpo della risposta.

Per gestire gli errori 500, il nome del file di uno script di gestione degli errori deve essere lo stesso della classe di eccezione (o della sua superclasse). Così, per esempio, per gestire tutte le eccezioni creare uno script /apps/sling/servlet/errorhandler/Throwable.jsp.

Per ulteriori informazioni sulla gestione degli errori Sling, consulta la seguente documentazione. http://sling.apache.org/site/errorhandling.html

Nota: Il 500.jsp viene preso solo se HttpServletResponse.sendError(500) viene eseguito esplicitamente, cioè da un raccoglitore di eccezioni.
Altrimenti solo il codice di risposta è impostato a 500, ma il 500.jsp non viene eseguito.
In questo caso è possibile aggiungere un file Exception.jsp per gestire tutte queste eccezioni.

Nota: in un'istanza dell'autore, il CQ WCM Debug Filter è abilitato per impostazione predefinita. Questo porta sempre a un codice di risposta 200 e viene preso l'Errorhandler predefinito che scrive l'intero stack trace alla risposta. In un'istanza di pubblicazione il CQ WCM Debug Filter è sempre disabilitato (anche se lo configuri per essere abilitato)...

Logo Adobe

Accedi al tuo account