Tworzenie filtrów

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:

  1. W perspektywie Java EE rozwiń swój projekt dynamiczny w widoku Eksplorator projektów.
  2. Kliknij prawym przyciskiem myszy ikonę Filtr, a następnie wybierz z menu podręcznego opcje Nowy > Filtr. Zostanie wyświetlony kreator Utwórz filtr.
  3. 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:
  1. w deskryptorze wdrażania zadeklarować filtr z elementem <filter>,
  2. 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ć.
Pojęcia pokrewne
Filtry