Package common.http.error
Annotation Type ForwardOnError
-
@Target({METHOD,TYPE}) @Retention(RUNTIME) public @interface ForwardOnError
L'annotazione consente di impostare in modo dichiarativo il percorso su cui una servlet effettua il dispatch in caso di errore.
Affinché funzioni, è necessario che la servlet su cui applicare l'annotazione estenda
InterceptableServlet
È possibile applicare l'annotazione ai singoli metodi "doX" implementati (es. doGet). Applicare l'annotazione direttamente alla classe equivale ad applicarla su tutti i metodi "doX" implementati.
Quando un metodo "doX" annotato con
ForwardOnError
lancia una particolare eccezione (elencate in basso), si verificano le seguenti azioni:- Viene catturata l'eccezione allo scopo di recuperare i messaggi di errore rilevanti
per inserirli nell'attributo di richiesta
errors
- Viene impostato lo status code 400 BAD REQUEST
- Viene passato il controllo (mediante metodo
forward
alla servlet al percorso specificato)
Le eccezioni catturate sono le seguenti:
Eccezione Messaggi di errore ConstraintViolationException
I messaggi degli oggetti ConstraintViolation
IllegalArgumentException
Throwable.getMessage()
- Viene catturata l'eccezione allo scopo di recuperare i messaggi di errore rilevanti
per inserirli nell'attributo di richiesta