Dieses Papier analysiert den Unterschied zwischen Struts2 -Filter und Interceptor. Teilen Sie es für Ihre Referenz wie folgt weiter:
1. Wesentliche Unterschiede:
1. Interceptors basieren auf dem Reflexionsmechanismus von Java, während Filter auf Funktionsrückrufen basieren.
2. Der Interceptor hängt nicht von Servlet -Containern ab, Filter sind von Servlet Containern abhängig.
3.. Interceptors können nur an Aktionsanfragen arbeiten, während Filter an fast allen Anfragen arbeiten können.
4. Der Interceptor kann im Aktionskontext und im Wertstapel auf Objekte zugreifen, der Filter kann jedoch nicht.
5. Während des Lebenszyklus einer Aktion kann der Interceptor mehrmals aufgerufen werden, während der Filter nur einmal aufgerufen werden kann, wenn der Container initialisiert wird.
2. Nutzungsunterschiede:
Der Filter befindet sich im Java -Web. Sie geben die Anfrage und Antwort weiter, um einige Informationen im Voraus herauszufiltern, oder stellen einige Parameter im Voraus fest und geben dann die Dien- oder Struts -Aktion für die Geschäftslogik ein.
Filtern Sie beispielsweise illegale URLs heraus (nicht anmeldung.Do -Adressanfragen, wenn sich der Benutzer nicht anmeldet, filtern Sie sie heraus).
Oder stellen Sie den Zeichen fest, bevor Sie in der Servlet- oder Struts -Aktion übergeben.
Oder entfernen Sie einige illegale Zeichen (oft in Chatrooms verwendet, einige schwören Wörter). . .
Der Interceptor kann eine Aktion verabschieden, die den Kriterien entspricht. Der Interceptor selbst ist ein normales Java -Objekt, das Aktionsaufrufe dynamisch abfangen können.
Die Ausführung des Interceptor selbst bietet verschiedene Webprojektanforderungen vor und nach der Ausführung der Aktion. Es kann auch die Ausführung von Aktionen verhindern und auch extrahiert werden.
Der Teil, der in Aktion wiederverwendet werden kann.
(Es wird tangententorientiert programmiert, was bedeutet, vor Ihrem Dienst oder einer Methode eine Methode aufzurufen oder nach der Methode eine Methode zu rufen. Beispielsweise ist ein dynamischer Proxy eine einfache Implementierung eines Interceptors. Es wird eine Zeichenfolge vor dem Rufen der Methode (oder andere Geschäfts logische Operationen ausgedehnt) oder eine Zeichenfolge ausdrucken.
Für weitere Informationen zu Struts können Leser, die an dieser Website interessiert sind, die Themen anzeigen: "Einführung und fortgeschrittenes Tutorial über Struts Framework", "Einführung und fortgeschrittenes Tutorial zum Frühlingsrahmen" und "Einführung und fortgeschrittenes Tutorial zum Hibernate -Framework".
Ich hoffe, dass die Beschreibung in diesem Artikel für die Java -Programmierung aller hilfreich ist, die auf dem Struts -Framework basieren.