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 si basa l’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
.