Abfangjäger Oder Filter
Arbeite ich an einer Spring-Anwendung, in der ich möchte einige Sicherheit überprüft, wie die MD5-überprüfung von Dateien, DB-überprüfung, die version der Anwendung prüfen, etc.
Ich gelesen habe Interceptors und Filter, aber immer noch ein bisschen zu verwirren, über die man gut verwenden.
Was auch immer Dokumente, die ich gelesen habe, es ist angegeben, dass Filter und Abfangjäger beide können verwendet werden, für die Protokollierung und überwachung ja, welches ist gut für dieses Szenario.
Auch alle diese Sicherheit überprüft (MD5-überprüfung von Dateien, DB-überprüfung, die version der Anwendung prüfen) kann so konfiguriert werden mittels DB-check ist erlaubt, die version der Anwendung prüfen ist können ebenfalls.
InformationsquelleAutor Amogh | 2014-04-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meiner Meinung nach einer der größten Unterschied zwischen Filtern und Abscheidern ist:
Filter funktioniert nur im J2EE-web-Anwendungen, die Sie nicht verwenden können, die außerhalb des application-Servern, Abfangjäger kann in verschiedenen Komponenten und nicht, hängt von der web-Schicht, die in der Zusammenfassung Abfangjäger haben ein breites Feld als Filter.
Wenn Sie planen, sich zu bewegen einige Komponenten außerhalb des Behälters, sollten Sie verwenden Abfangjäger.
Filter arbeiten, mehr in der request - /response-Domäne, in der anderen hand interceptor handeln mehr in die Ausführung der Methode Domäne.
Wenn Sie brauchen, um etwas zu tun, die beeinflussen könnten, die die Anfrage oder die Antwort zu Ihrer Anwendung, wie logging -, security -, audit -, oder Sie Einfluss auf die Daten, die auf Sie, Ihre option filter, vergessen Sie nicht, den Stecker Fähigkeit, die diese bietet.
Filter ist eine web-Komponente, in der anderen hand interceptors definiert werden kann, innerhalb einer target-Klasse als ein interceptor-Methode, oder in einer zugehörigen Klasse aufgerufen, eine interceptor-Klasse, und ja überall eingesetzt werden kann, nur hängen Sie auf den Rahmen, wenn Sie mit einem, javax.interceptor weithin
Ok, ich hab es jetzt. Ich gehe mit interceptors bin ich noch nicht planen, sich aus jeder Komponente außerhalb der container, da die nicht mir klar, aber was ist " bedeutet, Sie zu nehmen aus dem container. Ich werde Abfangjäger, denn wenn jeder Sicherheits-check bekommen schlägt fehl, dann kann ich ändern ModelAndView was kann getan werden, mithilfe Abfangjäger. ist es richtig?
Ja, man könnte mit springMVC interceptor und trycatch Exception in handler-Methoden des interceptors, aber auch dies kann getan werden mit Filter XD, der andere Unterschied ist hier Filter werden nicht verwaltet von spring-container, so verlieren Sie autowired Optionen
InformationsquelleAutor Koitoer
Ich bin spät dran um zu Antworten, Obwohl ich möchte zu teilen meine Ansichten.
Einen Filter verwendet wird, in der web-Schicht nur, wie es definiert ist, in web.xml. Wir können nicht verwenden Sie es out-of-web-Kontext. Während Frühling, Interceptors können überall eingesetzt werden, weil es definiert ist in der Anwendung Kontext.
Betrachtung über die Differenz, Für die Login-Authentifizierung und überwachung der eingehenden Anfragen von web-Seiten, die wir verwenden sollten, einen servlet-filter. Während für die Umsetzung Ihrer business-Schicht-Protokollierung und Prüfung-und viele andere entlang der Funktion, die wir verwenden sollten, einen Interceptor.
Zusätzlich zu diesem, wenn Sie mit dem Spring-MVC. dann würden Sie wie alle behalten die Logik von filtern oder das abfangen in einem Rahmen, als zu schreiben, Logik, servlet-filter und das andere im Frühjahr.
Frühjahr geben einen zusätzlichen Kontrollpunkt afterCompletion zusätzlich zu vor-und nach Methoden
InformationsquelleAutor AmitG