Cet article analyse la différence entre le filtre Struts2 et l'intercepteur. Partagez-le pour votre référence, comme suit:
1. Différences essentielles:
1. Les intercepteurs sont basés sur le mécanisme de réflexion de Java, tandis que les filtres sont basés sur des rappels de fonction.
2. L'intercepteur ne dépend pas des conteneurs de servlet, les filtres dépendent des conteneurs de servlet.
3. Les intercepteurs ne peuvent travailler que sur les demandes d'action, tandis que les filtres peuvent travailler sur presque toutes les demandes.
4. L'intercepteur peut accéder aux objets dans le contexte d'action et la pile de valeur, mais le filtre ne peut pas.
5. Pendant le cycle de vie d'une action, l'intercepteur peut être appelé plusieurs fois, tandis que le filtre ne peut être appelé qu'une seule fois lorsque le conteneur est initialisé.
2. Différences d'utilisation:
Le filtre est sur le Web Java. Vous transmettez la demande et la réponse pour filtrer certaines informations à l'avance, ou définir certains paramètres à l'avance, puis transmettre l'action du servlet ou de la piste pour la logique métier.
Par exemple, filtrez les URL illégales (pas les demandes d'adresse de connexion.do, si l'utilisateur ne se connecte pas, filtrez-les),
Ou définissez le jeu de caractères avant de passer dans l'action du servlet ou de la menace.
Ou supprimez des caractères illégaux (souvent utilisés dans les salles de chat, quelques mots jurants). . .
L'intercepteur peut passer une action qui répond aux critères. L'intercepteur lui-même est un objet Java normal, qui peut intercepter dynamiquement les appels d'action.
L'exécution de l'intercepteur lui-même fournit diverses exigences du projet Web avant et après l'exécution de l'action. Il peut également empêcher l'exécution de l'action et peut également être extrait.
La partie qui peut être réutilisée en action.
(Il est programmé de manière orientée tangente, ce qui signifie appeler une méthode avant votre service ou une méthode, ou appeler une méthode après la méthode. Par exemple, un proxy dynamique est une simple implémentation d'un intercepteur. Il imprime une chaîne avant d'appeler la méthode (ou fait d'autres opérations logiques commerciales), ou imprime une chaîne après vous appeler la méthode, ou même faire des opérations logiques commerciales lorsque vous lancez une exception.).).
Pour plus d'informations sur Struts, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Introduction et tutoriel avancé sur Struts Framework", "Introduction et didacticiel avancé sur Spring Framework" et "Introduction and Advanced Tutorial on Hibernate Framework".
J'espère que la description de cet article sera utile à la programmation Java de chacun basée sur le cadre Struts.