【发布时间】:2013-01-19 13:18:48
【问题描述】:
我继承了一个 Struts 1 应用程序,该应用程序大量使用了 FilterChain,但我不明白这段极其混乱的代码的好处。
"在 Servlet API 中,当您想要控制、预处理和/或后处理特定请求时,通常使用 Servlet。但是当您想要根据特定条件过滤/修改常见请求和/或响应时,则使用 Filter更合适。”
我的应用中的每个请求都基于特定条件,例如商家 ID 或搜索词。但似乎将一个请求放在一个完整的东西链中,完全隐藏了开发人员试图追踪错误原因的情况,这是疯了。
【问题讨论】:
-
您是在问过滤器链的用途,或者为什么在您的应用程序中使用它。如果是前者,请阅读文档。如果是后者,我们如何在不了解您的应用的情况下回答?
-
+1;一般来说,我同意你的看法,过滤器隐藏了许多细节。实际上,它只是帮助您设计应用程序的一种抽象(当然,如果您构建像 servlet 引擎这样的平台,它会变得更加有趣)。我个人的选择是您应该不在过滤器中放置任何类型的业务逻辑(如商家)。在过滤器中实现某些非功能性方面,例如日志记录、身份验证等。
-
@home 感谢您的帮助和理解我的问题的目的。
标签: java servlets servlet-filters