2016-02-28 16 views
7

Non è stato possibile ottenere la differenza corretta tra filtri e intercettori. Quindi Per favore spiegami l'esatto uso di filtri e intercettori nell'applicazione web basata su java con qualche frammento di campionamento.Filtri vs interceptor nell'applicazione Web

risposta

8

I filtri vengono utilizzati nelle applicazioni Web per eseguire alcune azioni sulla richiesta o sulla risposta, prima che raggiungano o dopo che lasci il gestore di azioni effettivo sul server (che potrebbe essere un servlet, un servizio REST, un bean gestito JSF , eccetera.). Utilizzando i filtri è possibile, ad esempio, verificare se determinate richieste sono autorizzate per l'utente che ha effettuato l'accesso e in realtà è possibile annullare la richiesta e restituire una risposta al client, senza consentire alla richiesta di raggiungere il gestore di azioni effettivo.

Se si dispone di più di un filtro, è necessario incatenarli.

Gli intercettatori agiscono secondo i metodi di classe. Ti consente di eseguire alcune elaborazioni aggiuntive durante il richiamo di un metodo di un oggetto, senza dover modificare il corpo del metodo. Questo può essere molto utile quando:

  • voi non hanno accesso al corpo del metodo di
  • trattamento è qualcosa che si ripete per un tipo specifico di metodi e non si vuole mettere quel codice in più in tutto il mondo (ad esempio, registrare i parametri di input e il risultato di output per tracciare l'esecuzione o controllare i vincoli di sicurezza su un metodo specifico, se ne sono definiti alcuni).