繁体   English   中英

javax.servlet.Filter对性能的影响?

[英]impact of javax.servlet.Filter on performance?

我想知道是否有关于使用过滤器的成本的硬数据? 例如,在使用servlet上的遗产来共享行为或使用过滤器之间?

谢谢,

安托万

如果有人可以发布硬数据,我会感到惊讶。 即使他们这样做,也很可能与您无关,因为数字将取决于过滤器中的操作。 它也可能属于过早的优化类别 - 除非你真的搞砸了一些东西,否则它不太重要。

我认为“遗产”意味着“继承”,并说过滤器是一个更好的解决方案。 您可以选择在配置中关闭和打开它们。

过滤器是HTTP请求的装饰器或方面。 由于这些都是备受推崇的,经过验证的模式,为什么servlet无法使用它们?

我说你的担忧被夸大了。

话虽如此,我不建议构建如此长而复杂的过滤器链,性能确实成为一个问题。 如果您执行压缩,日志记录,性能指标等,最终会出现问题,最终会出现一系列过滤器。

没有什么可衡量的,完全与您在过滤器中所做的工作相比相形见绌。 甚至每次都没有创建过滤器的新实例,就像它们被共享的Servlet一样。

继承的最大优点是能够在运行时配置和组合(编译父类,并且只能有一个)。

要考虑的一件事是Filter只能包装一个请求:它可以在之前和之后(或者代之)添加代码。 在Servlet运行之后,响应可能已经提交。 它不能将代码注入到请求处理的中间,正确定义的回调到父类(或Servlet端的一些其他技术)可以做到。 这意味着过滤器可能不适合某些任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM