Personalizzazione delle pagine visualizzate dal gestore degli errori customizing-pages-shown-by-the-error-handler
Adobe Experience Manager (AEM) viene fornito con un gestore degli errori standard per la gestione degli errori HTTP, ad esempio mostrando:
Gli script forniti dal sistema esistono (in /libs/sling/servlet/errorhandler
) per rispondere ai codici di errore. Per impostazione predefinita, con un'istanza CQ standard sono disponibili i seguenti script:
- 403.jsp
- 404.jsp
Personalizzare le pagine visualizzate dal gestore degli errori how-to-customize-pages-shown-by-the-error-handler
Puoi sviluppare script personalizzati per personalizzare le pagine visualizzate dal gestore degli errori quando viene rilevato un errore. Le pagine personalizzate vengono create in /apps
e si sovrappongono alle pagine predefinite (che si trovano in /libs
).
-
Nell’archivio, copia gli script predefiniti:
- da
/libs/sling/servlet/errorhandler/
- a
/apps/sling/servlet/errorhandler/
Poiché il percorso di destinazione non esiste per impostazione predefinita, è necessario crearlo quando si esegue questa operazione per la prima volta.
- da
-
Passare a
/apps/sling/servlet/errorhandler
ed effettuare una delle seguenti operazioni:- modificare lo script esistente appropriato in modo da poter fornire le informazioni richieste.
- crea e modifica un nuovo script per il codice richiesto.
-
Salva le modifiche e verifica.
Personalizzazione della risposta agli errori HTTP 500 customizing-the-response-to-http-errors
Gli errori HTTP 500 sono causati da eccezioni sul lato server.
- Errore interno del server
Il server ha rilevato una condizione imprevista che ha impedito il completamento della richiesta.
Quando l’elaborazione delle richieste genera un’eccezione, il framework Sling Apache (su cui è basato AEM):
-
registra l’eccezione
-
restituisce:
- il codice di risposta HTTP 500
- traccia dello stack di eccezioni
nel corpo della risposta.
È possibile creare uno script 500.jsp
personalizzando le pagine visualizzate dal gestore degli errori🔗. Tuttavia, viene utilizzato solo se HttpServletResponse.sendError(500)
viene eseguito in modo esplicito, ovvero da un servizio di raccolta eccezioni.
In caso contrario, il codice di risposta è impostato su 500, ma lo script 500.jsp
non viene eseguito.
Per gestire gli errori 500, il nome file dello script del gestore degli errori deve essere uguale a quello della classe di eccezione (o superclasse). Per gestire tutte queste eccezioni, è possibile creare uno script /apps/sling/servlet/errorhandler/Throwable.js
p o /apps/sling/servlet/errorhandler/Exception.jsp
.