在 ServletRequests 上使用 java 过滤器时如何检查 url 是否具有有效映射
How to check if url has valid mapping when using java Filter on ServletRequests
我正在使用过滤器并保存包含所有 url 的映射(以及每个 url 被调用的次数)。
@WebFilter(filterName = "SessionFilter", urlPatterns = {"/*"})
public class SessionFilter implements Filter {...}
我有这个:@WebServlet(/test/aaa)
所以我希望过滤器能够获取请求并将其转发到我的服务。问题是,如果我发送一些 post 假请求,例如:"testing/lalalal"
- 它通过了过滤器,然后我将它插入到我的地图中(如果我没有有效的映射,这不应该发生) )
我尝试使用 urlValidator
但它似乎没有帮助。我还尝试查找是否出现错误 (404) 但不知道去哪里查找。
谁能给点建议?
谢谢!
与其将过滤器映射到过于通用的 URL 模式,不如将其映射到 URLs and/or 实际感兴趣的 servlet。下面的示例将其映射到特定的 servlet。
@WebFilter(filterName = "sessionFilter", servletNames = {"yourServlet"})
不要忘记为您的 servlet 命名。
@WebServlet(servletName = "yourServlet", urlPatterns = {"/test/aaa"})
我正在使用过滤器并保存包含所有 url 的映射(以及每个 url 被调用的次数)。
@WebFilter(filterName = "SessionFilter", urlPatterns = {"/*"})
public class SessionFilter implements Filter {...}
我有这个:@WebServlet(/test/aaa)
所以我希望过滤器能够获取请求并将其转发到我的服务。问题是,如果我发送一些 post 假请求,例如:"testing/lalalal"
- 它通过了过滤器,然后我将它插入到我的地图中(如果我没有有效的映射,这不应该发生) )
我尝试使用 urlValidator
但它似乎没有帮助。我还尝试查找是否出现错误 (404) 但不知道去哪里查找。
谁能给点建议?
谢谢!
与其将过滤器映射到过于通用的 URL 模式,不如将其映射到 URLs and/or 实际感兴趣的 servlet。下面的示例将其映射到特定的 servlet。
@WebFilter(filterName = "sessionFilter", servletNames = {"yourServlet"})
不要忘记为您的 servlet 命名。
@WebServlet(servletName = "yourServlet", urlPatterns = {"/test/aaa"})