我正在研究这个,以便我可以在面试中做出更好的回应。我一直在寻找一个清晰简洁的答案。
到目前为止,如果我错了或缺乏细节,一定要纠正我:
- 过滤器是 Servlet API 的一部分,拦截器是 Struts 2。(虽然看起来很明显)
- 拦截器堆栈触发已配置包中的请求,而过滤器仅适用于其映射的 URL。
- 拦截器可以通过 excludeMethods 和 includeMethods 配置为根据特定的目标操作方法执行或不执行,而过滤器缺少此功能。
- 过滤器是拦截过滤器模式的实现,而拦截器是拦截器模式的实现。
这似乎是一个准确而完整的答案吗?我应该添加或更正任何内容吗?线程问题/差异呢?