Фильтры (JavaFilter). Назначение. Принципы применения.
Фильтр– это класс Java, реализующий интерфейсFilter,и выполняющий роль препроцессора запроса. С помощью фильтра можно осуществить доступ к ресурсу непосредственно перед запросом, блокировать, предварительно обработать или модифицировать запрос, изменить ответ и т. п.
Фильтры могут быть использованы для различных ресурсов: сервлетов, jspстраниц, html-страниц и др. Один и тот же фильтр может быть назначен разным ресурсам. С другой стороны одному ресурсу может быть назначено несколько фильтров – в этом случае они образуют цепочкуфильтров.
Технология фильтров основывается на использовании трех основных интерфейсов: Filter,FilterChainиFilterConfig.
Интерфейс Filter является важнейшим интерфейсом и предназначен для фильтрации запросов и ответов.
Интерфейс FilterChain реализуется web-контейнером и используется для организации цепочки фильтров. С помощью этого интерфейса можно заблокировать доступ к ресурсу.
Интерфейс FilterConfig тоже реализуется web-контейнером и предназначен для информирования фильтра о его окружении.
Любой фильтр должен реализовать три обязательных метода: init,destroyиdoFilter. Все методы вызываются web-контейнером, а последовательность их вызова определяет жизненный цикл фильтра.
package flt;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Flt1 implements Filter {
public void init(FilterConfig cfg) throws ServletException {
System.out.println("Flt1:init");
}
public void destroy() {
System.out.println("Flt1:destroy");
}
public void doFilter(ServletRequest rq, ServletResponse rs, FilterChain ch)
throws IOException, ServletException {
}
}
<filter>
<filter-name>Flt1</filter-name>
<filter-class>flt.Flt1</filter-class>
</filter>
<filter-mapping>
<filter-name>Flt1</filter-name>
<url-pattern>/Sss</url-pattern>
</filter-mapping>
-
Yandex.RTB R-A-252273-3
Содержание
- Основные спецификации Java: se, ee, me. Состав ядра системы программирования Java.
- Арифметические операторы (cpp, c#)
- Целочисленные битовые операторы (cpp, c#)
- Операторы отношения (cpp, c#)
- Булевы логические операторы (cpp, с#)
- Оболочки простых типов.
- Сравнение строк.
- Классы Java. Конструкторы, методы, наследование классов, управление доступом к методам и переменным класса, ключевые слова this и supper. Классы.
- Переменные (instance variables).
- Оператор new.
- Объявление методов.
- Конструкторы.
- Пакеты классов, понятие иерархии пакетов, переменная окружения classpath, инструкции package и import. Jarархивы. Состав jar-архивов. Применение jar-архивов.
- Интерфейсы Java: назначение, принцип применения.
- Метод get
- Метод post
- Метод opinions
- Метод put
- Метод delete
- Коды состояний
- Informational (русск. Информационный)
- Строка запроса выглядит так:
- Стартовая строка ответа сервера имеет следующий формат:
- Язык html. Основные теги. Структура html-страницы. Основные теги. Каскадные таблицы стилей.
- Язык JavaScript. Стандарты языка JavaScript. Назначение языка. Основные возможности. Понятие dhtml.
- Стандарт языка:
- Возможности языка JavaScript:
- Модель dom. Назначение модели dom. Уровни модели dom. Основные спецификации.
- Сетевые службы. Примеры сетевых служб. Служба www (Web-сервер). Примеры реализации службы www.
- Архитектура Web-приложений
- Структура спецификации Java Platform Enterprise Edition. Web-технологии.
- Технология Java Applets. Назначение. Основные возможности.
- Спецификация Servlet. Назначение. Основные возможности.
- Переопределение и переадресация запросов. Формирование get и post запросов в сервлете. Переопределение
- Генерация запросов
- Переадресация
- Спецификация jsp. Назначение. Основные возможности. Директивы, теги (определение, выполнение, скриплеты), предопределенные объекты.
- Директивы jsp.
- Объявления jsp
- Выражения jsp
- Скриплеты jsp
- Библиотека тегов. Назначение основные возможности. Структура jsp-страницы при применении библиотеки тегов.
- Дескриптор библиотеки тегов
- Применение библиотечных тегов
- Основные модели web-приложений на основе технологий сервлетов и jsp.
- Основные системные объекты (контекст, сессия, запрос, ответ). Назначение и жизненный цикл объектов. Контекст
- Сеанс связи (сессия)
- Дескриптор развертывания web-приложения. Параметры инициализации web-приложения: назначение, принципы применения.
- Атрибуты системных объектов. Назначение. Принципы применения. Атрибуты контекста
- Атрибуты запроса
- Атрибуты сессии
- Заголовки http-запросов и ответов. Назначение. Принципы применения. Заголовки запроса
- Заголовки ответа
- Фильтры (JavaFilter). Назначение. Принципы применения.
- Слушатели (JavaEventListener). Назначение. Принципы применения.
- Технология jdbc. СоставJdbc. Структура jdbcприложения. Типы jdbc-драйверов.
- Технология jaas. Назначение. Основные возможности. Роли, пользователи и их взаимосвязь.
- Структура web-клиентов серверов smtp и pop3.
- HelomailrcptdatasendquiTи другие команды.
- Структура web-приложения пересылающего файлы.
- Пример 1. Описания параметра инициации в дескрипторе приложения
- Пример 2. Получения значения параметра инициации
- Пример 3. Класс, используемый для выбора списка файлов
- Пример 4. Формирование списка файлов (ссылок) в jsp-странице
- Пример 5. Функция пересылающая клиенту Word-файл
- Методология Ajax. Структура Ajax-приложения, принципы разработки и применения.
- Понятие Application Server. Наиболее известные реализации.
- Примеры реализации