Der Filterassistent unterstützt Sie bei der Erstellung von Java™-Servletfiltern. Er leitet Sie durch den
Erstellungsprozess und stellt Ihnen Ausgabedateien zur Verfügung, die Sie unverändert oder angepasst für Ihre
Webanwendung verwenden können. Die Filter können Sie auf Java EE-kompatiblen Webservern ausführen.
Führen Sie die folgenden Schritte aus, um einen Filter zu erstellen:
- Erweitern Sie in der Java EE-Perspektive Ihr dynamisches Projekt in der Sicht 'Projektexplorer'.
- Klicken Sie mit der rechten Maustaste auf das Symbol Filter und wählen Sie im Kontextmenü aus. Der Assistent für die Erstellung eines Filters wird angezeigt.
- Folgen Sie den Anweisungen des Projektassistenten.
Allgemeine Informationen
- Änderungswerte
- Die Sun Microsystems Java Servlet 2.3-Spezifikation gibt an,
dass eine Servletklasse öffentlich (public) sein muss und nicht abstrakt (abstract). Daher können diese Änderungswerte nicht geändert werden. Der einzige für Änderungen verfügbare Änderungswert ist final (final).
- Schnittstellen
- Es gibt eine einzige Pflichtschnittstelle, die Filterklassen implementieren müssen: javax.servlet.Filter.
Diese Schnittstelle wird vom Paket 'javax.servlet' bereitgestellt und wird für die Darstellung
des Lebenszyklus des Filters verwendet. Diese Schnittstelle verfügt über drei Methoden: 'init', 'doFilter' und 'destroy'.
- Die Methode init wird vom Servlet-Container nur ein einziges Mal aufgerufen, und zwar
wenn die Instanziierung des Filters abgeschlossen ist.
- Bei der Methode doFilter wird das Filtern
durchgeführt; sie wird jedesmal dann, wenn ein Benutzer eine Ressource
anfordert (z. B. ein Servlet, dem der Filter zugeordnet wird), aufgerufen.
- Die Methode destroy wird vom Servlet-Container aufgerufen. Sie teilt dem Filter mit,
dass er außer Betrieb genommen wird.
Zwar wird die Schnittstelle 'javax.servlet.Filter' im Feld Schnittstellen standardmäßig
bereitgestellt, Sie können aber weitere Schnittstellen mithilfe der Schaltfläche Hinzufügen implementieren.
- Dialog 'Schnittstellenauswahl'
- Dieser Dialog wird angezeigt, wenn Sie sich entscheiden, eine Schnittstelle zu Ihrem Filter hinzuzufügen.
Während Sie den Namen der Schnittstelle, die Sie hinzufügen wollen, eingeben, wird eine Liste der verfügbaren
Schnittstellen, die im Listenfeld Übereinstimmende Elemente aufgeführt werden,
dynamisch aktualisiert und zeigt nur die Schnittstellen
an, die mit dem Muster übereinstimmen. Wählen Sie eine Schnittstelle aus, um das Qualifikationsmerkmal anzuzeigen.
Wenn Sie fertig sind, klicken Sie auf OK.
- Filterzuordnungen
- Damit ein Filter eine Anforderung für ein Servlet abfangen kann, müssen Sie Folgendes tun:
- Deklarieren Sie den Filter mit einem Element des Typs <filter> im Implementierungsdeskriptor.
- Ordnen Sie den Filter unter Verwendung des Elements <filter-mapping> dem Servlet zu.
In manchen Fällen soll ein Filter auf mehrere Servlets anwendbar sein. Dies kann
über die Zuordnung eines Filters zu einem URL-Muster geschehen, damit sämtliche Anforderungen
gefiltert werden, die mit diesem URL-Muster übereinstimmen. Dies geschieht automatisch, sofern Sie
das Feld Filterzuordnungen verwenden.
- Methodenstubs
- Da jeder Filter die Schnittstelle 'javax.servlet.Filter' implementieren muss,
ist die Option Übernommene abstrakte Methoden immer ausgewählt und kann nicht geändert
werden.