Класс 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)
  • устанавливать объекты атрибутов в обмене, к которым могут получить доступ другие фильтры или обработчик обмена.
  • решать либо
    1. вызвать следующий фильтр в цепочке, вызвав Filter.Chain.doFilter(HttpExchange)
    2. прервать цепочку вызовов, не вызывая 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

Spec-Zone .ru
спецификации, руководства, описания, API