Printemps HandlerInterceptor vs Servlet Filtres
HandlerInterceptors au Printemps peut maintenant être configuré pour être invoquée que sur certaines Url en utilisant <mvc:interceptors>
.
Servlet Filtres peuvent atteindre les mêmes fonctionnalités (enregistrement, sécurité, etc). Alors, qui doit être utilisé?
Je pense que les Intercepteurs, on peut utiliser ModelAndView
objet de travailler avec des Modèles de sorte qu'il a plus d'avantages. Quelqu'un peut-il tirer des scénarios où les Filtres ou les Intercepteurs ont des avantages sur les autres?
- Un Filtre de Servlet est utilisé dans la couche web uniquement, vous ne pouvez pas l'utiliser en dehors d'un contexte web. Les intercepteurs peuvent être utilisés n'importe où. C'est la principale différence. javabench.in/2011/10/java-difference-between-filter-and.html
Vous devez vous connecter pour publier un commentaire.
La
org.springframework.web.servlet.HanderInterceptor
Interface JavaDoc lui-même a deux paragraphes qui traitent de cette question:Printemps Gestionnaire d'intercepteurs de vous permettre de vous crochet dans plusieurs parties de la requête du cycle de vie, et d'avoir accès à plus d'informations dans le processus. Ils sont souvent plus intimement liée à la demande/réponse de cycle de filtres.
Filtres sont plus appropriés lors du traitement de votre demande/réponse comme une boîte noire du système. Ils vont travailler indépendamment de la façon dont la servlet est mis en œuvre.
Si vous êtes à l'aide de Spring MVC, il y a peu de raisons d'écrire une nouvelle logique comme un filtre de servlet. Tout les filtres peuvent faire, les intercepteurs peuvent faire plus facilement et de manière plus élégante.
Rappelez-vous aussi, servlet filtres ont été autour pendant beaucoup plus longtemps que les intercepteurs.
HandlerInterceptor
s ne peut pas faire cela.Avec un Printemps de l'intercepteur, vous avez accès au Gestionnaire de ce qui peut être utile. Aussi, avec un Printemps de l'intercepteur, vous avez accès à exécuter la logique avant la vue affiche et après le point de vue est rendu.