Vytvoření filtrů

Průvodce vytvářením filtrů pomáhá při tvorbě filtrů servletů Java™ tím, že vás provede procesem jejich vytvoření a poskytne výstupní soubory, které lze použít nebo upravit pro použití ve webové aplikaci. Tyto filtry lze spustit na webových serverech vyhovujících standardu Java EE.

Chcete-li vytvořit filtr, postupujte takto:

  1. V perspektivě EE rozbalte v pohledu Průzkumník projektů dynamický projekt.
  2. Klepněte pravým tlačítkem myši na ikonu Filtr a z rozevírací nabídky vyberte Nový > Filtr. Zobrazí se Průvodce vytvořením filtru.
  3. Postupujte podle pokynů průvodce projektem.

Všeobecné informace

Modifikátory
Specifikace Sun Microsystems Java Servlet 2.3 Specification uvádí, že třída servletu musí být typu public (veřejná) a nesmí být typu abstract (abstraktní). Proto nemůžete tyto modifikátory upravovat. Změnit lze pouze modifikátor final.
Rozhraní
Třídy filtru musí implementovat jedno povinné rozhraní: javax.servlet.Filter. Toto rozhraní je poskytováno balíkem javax.servlet a používá se pro reprezentaci životního filtru. Toto rozhraní má tři metody: init, doFilter a destroy.
  • Metodu init volá kontejner servletů pouze jednou, když dokončí vytváření instance filtru.
  • Metoda doFilter provádí samotné filtrování a je volána, kdykoli uživatel požaduje prostředek, jako např. servlet, na který je namapován filtr.
  • Metodu destroy volá kontejner servletu, aby řekl filtru, že bude odstaven.
Ačkoli je v poli Rozhraní jako výchozí hodnota uvedeno rozhraní javax.servlet.Filter, můžete přidat další rozhraní, která se mají implementovat, pomocí tlačítka Přidat.
Dialogové okno Výběr rozhraní
Toto dialogové okno se zobrazí, pokud jste vybrali přidání rozhraní do filtru. Jakmile začnete psát název rozhraní, které má být přidáno, začne se seznam dostupných rozhraní v okénku se seznamem Odpovídající položky dynamicky aktualizovat tak, aby zobrazoval pouze rozhraní vyhovující zadanému řetězci. Zvolte rozhraní, zobrazí se kvalifikátor a pak klepněte na tlačítko OK.
Mapování filtrů
Aby filtr zachytil žádost na servlet, musíte:
  1. deklarovat filtr s prvkem <filter> v deskriptoru implementace
  2. namapovat filtr na servlet pomocí prvku <filter-mapping>
Někdy chcete, aby filtr fungoval pro více servletů. Toho lze dosáhnout namapováním filtru na vzorek URL, takže budou odfiltrovány všechny žádosti, které odpovídají danému vzorku URL. Pokud použijete pole Mapování filtrů, provádí se to vše automaticky.
Stuby metod
Protože všechny filtry musí implementovat rozhraní javax.servlet.Filter, je volba Zděděné abstraktní metody vždy zaškrtnuta a nelze ji měnit.
Související koncepce
Filtry