- java.lang.Object
-
- com.sun.net.httpserver.Filter
-
public abstract class Filter extends Object
用于预处理和后处理传入请求的过滤器。 预处理在调用应用程序的交换处理程序之前发生,并且在交换处理程序返回之后发生后处理。 过滤器按链组织,并与HttpContext实例相关联。链中的每个Filter在其自己的doFilter()实现中调用下一个过滤器。 链中的最终Filter调用应用程序交换处理程序。
- 从以下版本开始:
- 1.6
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static class
Filter.Chain
与HttpServer关联的一系列过滤器。
-
构造方法摘要
构造方法 变量 构造器 描述 protected
Filter()
-
-
-
方法详细信息
-
doFilter
public abstract void doFilter(HttpExchange exchange, Filter.Chain chain) throws IOException
要求此过滤器预先/后处理给定的交换。 过滤器可以:- 检查或修改请求标头
- 通过创建合适的过滤器流并调用
HttpExchange.setStreams(InputStream,OutputStream)
来过滤请求主体或响应主体 - set属性交换中的对象,其他过滤器或交换处理程序可以访问。
- 决定要么
- 通过调用
Filter.Chain.doFilter(HttpExchange)
调用链中的下一个过滤器 - 通过不调用
Filter.Chain.doFilter(HttpExchange)
来终止调用链
- 通过调用
- 如果选项1是上面的,那么当doFilter()返回链中的所有后续过滤器时,都会被调用,并且可以检查或修改响应头。
- 如果上面的选项2,则此过滤器必须使用HttpExchange发送回适当的响应
- 参数
-
exchange
- 要过滤的HttpExchange
。 -
chain
- 允许调用下一个过滤器的Chain。 - 异常
-
IOException
- 任何过滤器模块都可能抛出,如果被捕获,则必须重新进行重新抛出。 -
NullPointerException
- 如果交易所或连锁的是null
-
description
public abstract String description()
返回此Filter的简短描述- 结果
- 描述Filter的字符串
-
-