The javax.servlet.Filter http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/Filter.html对象既可用于身份验证(其中 Filter 需要在需要完成任何 Servlet 工作之前捕获请求),也可用于 XSLT 转换(其中 Servlet 需要完全完成生成内容)。什么时候真正执行?
我知道这是依赖于实现的(在网络容器上),但这似乎是他们所有人都需要解决的问题。
也许在 Web 容器中为每个 Filter 注册的某处设置了一个配置选项?
额外的:
另外,什么决定 Filter 的执行顺序?为什么 FooFilter 会在 BarFilter 之前执行?
过滤器链本质上包装了 servlet 调用。该链将处理所有链接,直到到达“底部”,然后允许 servlet 运行,然后反向返回链上。例如,如果您有一个新的“示例过滤器”,您的 doFilter() 方法可能如下所示:
public void doFilter(ServletRequest request,
ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// do pre-servlet work here
chain.doFilter(request, response);
// do post servlet work here
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)