Personalizzazione delle pagine di errore customizing-error-pages
L’AEM viene fornito con un gestore degli errori standard per la gestione degli errori HTTP, ad esempio mostrando:
Per rispondere agli errori, AEM fornisce uno script 404.jsp
in /libs/sling/servlet/errorhandler
.
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. A tale scopo, si utilizza il meccanismo di sovrapposizione standard AEM in modo che le pagine personalizzate vengano create in /apps
e sovrappongano le pagine predefinite in /libs
.
-
Nell’archivio, copia gli script predefiniti:
- da
/libs/sling/servlet/errorhandler/
- a
/apps/sling/servlet/errorhandler/
Il percorso di destinazione non esiste per impostazione predefinita, pertanto devi crearlo quando esegui questa operazione per la prima volta.
- da
-
Passa a
/apps/sling/servlet/errorhandler
. Qui puoi effettuare le seguenti operazioni:- modificare lo script esistente appropriato per fornire le informazioni richieste. Oppure
- crea e modifica un nuovo script per il codice richiesto.
-
Salva le modifiche e verifica.
404.jsp
è stato specificamente progettato per gestire l'autenticazione AEM, in particolare per consentire l'accesso al sistema in caso di errori.Personalizzazione della risposta agli errori HTTP 500 customizing-the-response-to-http-errors
L'errore interno del server HTTP 500 indica un errore sul lato server, ad esempio il fatto che il server ha incontrato una condizione imprevista che ha impedito il completamento della richiesta.
Quando l’elaborazione delle richieste genera un’eccezione, il framework Sling Apache (su cui si basa l’AEM):
-
Registra l’eccezione
-
E restituisce nel corpo della risposta:
- Il codice di risposta HTTP 500
- Traccia dello stack di eccezioni
È 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.jsp
o /apps/sling/servlet/errorhandler/Exception.jsp
.
x-aem-error-pass: true
.Questo funziona solo per le risposte provenienti dall’AEM o dal livello Apache/Dispatcher. Altri errori imprevisti provenienti dai livelli intermedi dell’infrastruttura visualizzeranno comunque la pagina di errore generico.