1

我正在使用过滤器并保存包含所有 url 的映射(以及每个 url 被调用的次数)。

@WebFilter(filterName = "SessionFilter", urlPatterns = {"/*"})
public class SessionFilter implements Filter {...}

我有这个:@WebServlet(/test/aaa)所以我希望过滤器能够获取请求并将其转发给我的服务。问题是,如果我发送一些虚假请求,例如:"testing/lalalal"- 它通过过滤器,然后我将其插入到我的地图中(如果我没有有效的映射,这不应该发生)

我尝试使用urlValidator,但似乎没有帮助。我还尝试查找是否出现错误(404),但不知道在哪里查找。

有人可以建议吗?

谢谢!

4

1 回答 1

2

与其将过滤器映射到过于通用的 URL 模式,不如将其映射到实际感兴趣的 URL 和/或 servlet。下面的示例将其映射到特定的 servlet。

@WebFilter(filterName = "sessionFilter", servletNames = {"yourServlet"})

不要忘记为您的 servlet 命名。

@WebServlet(servletName = "yourServlet", urlPatterns = {"/test/aaa"})
于 2016-02-09T13:27:45.123 回答