<分区>
我继承了一个大量使用 FilterChain 的 Struts 1 应用程序,但我不明白这种极其困惑的代码的好处。
“在 Servlet API 中,当您想要控制、预处理和/或后处理特定请求时,您通常会使用 Servlet。但是当您想要根据特定条件过滤/修改常见请求和/或响应时,则使用 Filter更合适。”
我的应用程序中的每个请求都基于特定条件,例如商家 ID 或搜索词。但是,将请求置于一整条东西链中似乎完全隐藏了正在发生的事情,开发人员试图追踪错误的原因,这似乎很疯狂。
<分区>
我继承了一个大量使用 FilterChain 的 Struts 1 应用程序,但我不明白这种极其困惑的代码的好处。
“在 Servlet API 中,当您想要控制、预处理和/或后处理特定请求时,您通常会使用 Servlet。但是当您想要根据特定条件过滤/修改常见请求和/或响应时,则使用 Filter更合适。”
我的应用程序中的每个请求都基于特定条件,例如商家 ID 或搜索词。但是,将请求置于一整条东西链中似乎完全隐藏了正在发生的事情,开发人员试图追踪错误的原因,这似乎很疯狂。
最佳答案
FilterChain#doFilter()
调用只是继续到目的地的 HTTP 请求,遵循完全相同的路径,就好像您首先没有使用过滤器一样。这通常是一个 servlet 类,甚至是一个 JSP 文件。因此,为了调试有问题的代码,最好在目标代码中放置一个断点,如果它不包含任何感兴趣的代码,则不要在过滤器中放置断点。
关于java - javax.servlet.FilterChain 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14693553/