Сървлет филтрите са Java класове, които могат да бъдат използвани в Java web програмирането за следните цели :
За прихващане на заявки от клиент преди да му се даде достъп до ресурсите в системата;
За манипулация на отговорите от сървъра преди те да бъдат изпратени обратно на клиента.
Видове филтри:
филтри за аутентикация;
филтри за компресия на данни;
филтри за кодиране и декодиране;
филтри, които управляват достъпа до ресурси;
филтри за преобразуване на изображения;
филтри за управление на достъпа до системата;
верига от филтри за MIME - TYPE;
Филтри за токенайзер (обработка на стрингови низове с цел разделяне на поднизове);
XSL / Т филтри, които трансформират XML съдържание. За да станат активни и за да се окаже спрямо кой ресурс от уеб приложението те ще работят
Деклариране на филтри:
Единият начин за декларация е запис в дескриптора на приложението - web.xml, където се асоциират с дадено сървлет име и URL адрес.
Вторият начин за декларация е чрез анотацията @WebFilter
Когато уеб контейнера стартира уеб приложението, той създава инстанция на всеки филтър, който е деклариран в дескриптора. Филтрите се изпълняват в реда, в който са декларирани.
Методи на сървлет филтър
Филтърът е Java клас, който реализира интерфейса javax.servlet.Filter.
Интерфейсът javax.servlet.Filter
дефинира методите:
public void doFilter (ServletRequest, ServletResponse, FilterChain)
- Този метод се извиква от контейнера всеки път при обработка на request/response, в който се изисква достъп до ресурс от клиент;public void init(FilterConfig filterConfig)
- Този метод се извиква от уеб контейнера, за да се окаже на филтъра, че е вече активен;public void destroy()
- Този метод се извиква от уеб контейнера, за да се окаже на филтъра, че вече не е активен.
Пример:
Servlet филтър, отпечатващ IP адреса на клиенти и текущия час дата:
Анотацията @WebFilter декларира класа, който го съдържа, като сървлет филтър. Параметърът на анотацията - urlPatterns = "/CheckBox") оказва името на сървлета, за който ще бъде приложен филтъра. В зависимост от броя и типа параметри на анотацията има различни случаи на използване на филтрите:
филтър работещ за няколко ресурса
филтър с инициализиращи параметри
филтър с допълнителна информация
филтър с оказване типа на диспечера на обработката
Last updated