Класс Filter
- java.lang.Object
-
- com.sun.net.httpserver.Filter
public abstract class Filter extends Object
Фильтр, используемый для предварительной и последующей обработки входящих запросов. Предварительная обработка происходит до вызова обработчика обмена приложения, а последующая обработка — после возврата обработчика обмена. Фильтры организованы в цепочках и связаны с экземплярами HttpContext.
Каждый фильтр в цепочке вызывает следующий фильтр в своей реализации метода doFilter(). Последний фильтр в цепочке вызывает обработчик обмена приложения.
- Since:
- 1.6
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
Filter.Chain |
цепь фильтров, связанных с HttpServer. |
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Filter() |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract String |
description() |
возвращает краткое описание этого фильтра |
abstract void |
doFilter(HttpExchange exchange,
Filter.Chain chain) |
Запрашивает этот фильтр для предварительной/последующей обработки данного обмена. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Конструкторы
Filter
protected Filter()
Методы
doFilter
public abstract void doFilter(HttpExchange exchange,
Filter.Chain chain)
throws IOException
Запрашивает этот фильтр для предварительной/последующей обработки данного обмена. Фильтр может:
- просматривать или изменять заголовки запроса
- фильтровать тело запроса или тело ответа, создавая соответствующие потоки фильтра и вызывая
HttpExchange.setStreams(InputStream,OutputStream) - устанавливать объекты атрибутов в обмене, к которым могут получить доступ другие фильтры или обработчик обмена.
- решать либо
- вызвать следующий фильтр в цепочке, вызвав
Filter.Chain.doFilter(HttpExchange) - прервать цепочку вызовов, не вызывая
Filter.Chain.doFilter(HttpExchange)
- вызвать следующий фильтр в цепочке, вызвав
- если выбран вариант 1, то когда doFilter() возвращается, все последующие фильтры в цепочке были вызваны, и заголовки ответа могут быть просмотрены или изменены.
- если выбран вариант 2, этот фильтр должен использовать HttpExchange для отправки соответствующего ответа
- Parameters:
-
exchange- обрабатываемыйHttpExchange. -
chain- цепочка, позволяющая вызвать следующий фильтр. - Throws:
-
IOException- может быть выброшено любым модулем фильтра, и если пойман, должен быть повторно выброшен. -
NullPointerException- если обмен или цепочкаnull
description
public abstract String description()
возвращает краткое описание этого фильтра
- Returns:
- строка, описывающая фильтр
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.httpserver/com/sun/net/httpserver/Filter.html