3
A
回答
13
,我会感到惊讶,如果有人可以张贴硬数据。即使他们这样做,它最有可能与您无关,因为这些数字将取决于过滤器中正在执行的操作。它也可能陷入过早的优化范畴 - 除非你真的把事情搞得很糟糕,否则这很可能不重要。
我假设“遗产”的意思是“继承”,并说,过滤器是一个更好的解决方案。您可以选择将它们在配置中关闭和打开。
过滤器是用于HTTP请求的装饰器或方面。既然这些都是受到尊重的,经过验证的模式,为什么它们对servlet的使用没有用处和安全?
我想说你的担心是夸大的。
虽这么说,我不建议建立这样一个长期,复杂的过滤器链,业绩也成为一个问题。如果您进行压缩,日志记录,性能指标等,最终会出现问题,并最终形成一连串的过滤器。
3
没有什么可测量的,完全与您在过滤器中所做的实际工作相差无几。甚至没有每次创建过滤器的新实例,就像它们共享的Servlet一样。
与继承相比,最大的优势是能够在运行时进行配置和组合(父类编译进来,并且只能有一个)。
有一点要考虑的是,一个过滤器只能换一个请求:它可以前后(或代替)添加代码。在Servlet运行后,响应可能已经被提交。它不能将代码注入到请求处理的中间,这样可以正确定义回调到父类(或Servlet结束处的其他技术)中。这意味着一个Filter可能不适合某些任务。
相关问题
- 1. Systemtap对性能的影响
- 2. connection.commit()对性能的影响
- 3. QueryPerformanceCounter对性能的影响
- 4. 性能影响
- 5. 性能的影响
- 6. 对性能影响CSS属性
- 7. 对Android注解的性能影响
- 8. SQL:long varchar和对性能的影响
- 9. LIMIT子句对MySql性能的影响?
- 10. Log.d和对性能的影响
- 11. 主键对SQLite性能的影响
- 12. smallint与int对性能的影响
- 13. Codeigniter HMVC对性能的影响
- 14. LINQ性能影响
- 15. Mongodb:$ HINT的性能影响
- 16. 1)性能的影响流
- 17. mysql_data_seek的性能影响
- 18. 性能的影响成行
- 19. nvarchar(4000)的性能影响?
- 20. 投影数量对查询性能的影响
- 21. NSClassFromString会影响性能吗?
- 22. C#铸造性能影响
- 23. Java -verbose:gc性能影响?
- 24. 快捷类影响性能?
- 25. Sharepoint 2010 - SPMonitoredScope ...性能影响?
- 26. sqlite3视图影响性能?
- 27. 指针和性能影响?
- 28. 查询性能影响
- 29. innodb_log_file_size如何影响性能?
- 30. 影响JOIN在性能
但是,如果您需要执行压缩,日志记录和性能指标等,无论是否使用过滤器或其他方式,都需要同一时间。我不喜欢过滤器的唯一部分是深层堆栈跟踪,但这是整型和低于允许的堆栈调用深度的方式。然后是“太多移动部件”问题(即配置开销)。 – Thilo
@Thilo:您可以在Java EE 6中无需配置。因此,这也可以解决。 –
EE6是一个很大的改进,因为XML消失了,但是你仍然需要在某个地方进行配置(当然注释是IDE和程序员友好的)。 – Thilo