Kreator filtrów ułatwia tworzenie filtrów serwletów Java™, prowadząc
przez proces ich tworzenia i udostępniając pliki wyjściowe, których można
później użyć bezpośrednio w aplikacji WWW lub zmodyfikować. Filtry mogą być
uruchamiane na serwerach WWW zgodnych z Java EE.
Aby utworzyć filtr, wykonaj następujące czynności:
- W perspektywie Java EE rozwiń swój
projekt dynamiczny w widoku Eksplorator
projektów.
- Kliknij prawym przyciskiem myszy ikonę
Filtr, a następnie wybierz z menu podręcznego opcje
. Zostanie wyświetlony
kreator Utwórz filtr.
- Wykonuj polecenia kreatora projektu.
Informacje ogólne
- Modyfikatory
- Specyfikacja Sun Microsystems Java Servlet 2.3 Specification
określa, że klasa Servlet musi mieć modyfikator public i nie
może mieć modyfikatora abstract. Dlatego nie można zmieniać tych modyfikatorów. Jedynym dostępnym do modyfikacji modyfikatorem jest final.
- Interfejsy
- Jest jeden obowiązkowy interfejs, który musi być zaimplementowany
we wszystkich klasach filtrów: javax.servlet.Filter.
Ten interfejs jest dostarczany z pakietem javax.servlet i służy do
reprezentowania cyklu życia filtru. Zawiera on trzy metody: init, doFilter i destroy.
- Metoda init jest wywoływana przez kontener serwletu tylko
raz, na zakończenie tworzenia instancji filtru.
- Metoda doFilter obsługuje filtrowanie i jest wywoływana za
każdym razem, gdy użytkownik żąda zasobu, takiego jak serwlet, na który filtr
jest odwzorowany.
- Metoda destroy jest wywoływana przez kontener serwletu
podczas usuwania usługi filtru.
Interfejs javax.servlet.Filter jest domyślnie umieszczany w polu
Interfejsy, ale można dodać do implementacji również inne
interfejsy, korzystając z przycisku Dodaj.
- Okno dialogowe wyboru interfejsu
- Okno to jest wyświetlane, jeśli chcesz dodać interfejs do filtru.
Podczas wpisywania nazwy dodawanego interfejsu lista dostępnych interfejsów w
polu listy Zgodne elementy jest na bieżąco aktualizowana,
tak aby były wyświetlane tylko interfejsy zgodne z wprowadzonym wzorcem. Aby
zobaczyć kwalifikator, należy wybrać interfejs, a po zakończeniu kliknąć
przycisk OK.
- Odwzorowania filtrów
- Aby filtr przechwytywał żądanie do serwletu, należy:
- w deskryptorze wdrażania zadeklarować filtr z elementem
<filter>,
- odwzorować filtr na serwlet przy użyciu elementu
<filter-mapping>.
Czasem zachodzi potrzeba, aby filtr działał na kilku serwletach. Wówczas można
odwzorować filtr na wzorzec adresu URL; wówczas będzie filtrowane każde żądanie
zgodne z tym wzorcem. Jeśli zostanie użyte pole Odwzorowania filtrów, wszystko będzie wykonywane automatycznie.
- Szkielety metod
- Ponieważ każdy filtr musi implementować interfejs javax.servlet.Filter,
opcja Dziedziczone metody abstract jest zawsze zaznaczona i
nie można tego zmienić.