Servlets 如何在ServletRequests上使用java筛选器时检查url是否具有有效映射

Servlets 如何在ServletRequests上使用java筛选器时检查url是否具有有效映射,servlets,servlet-filters,url-validation,Servlets,Servlet Filters,Url Validation,我正在使用过滤器并保存所有url的映射(以及每个url被调用的次数) 我有这样一个:@WebServlet(/test/aaa),所以我希望过滤器能够获得请求并将其转发给我的服务。问题是,如果我发送一些post伪请求,比如:“testing/lalal”,它会通过过滤器,然后我将其插入到我的映射中(如果我没有有效的映射,则不会发生这种情况) 我尝试使用urlvalidater,但似乎没有任何帮助。我还试图找出是否有错误(404),但不知道该去哪里查找 有人能提供建议吗 谢谢 不要将过滤器映射到过

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

我有这样一个:
@WebServlet(/test/aaa)
,所以我希望过滤器能够获得请求并将其转发给我的服务。问题是,如果我发送一些post伪请求,比如:
“testing/lalal”
,它会通过过滤器,然后我将其插入到我的映射中(如果我没有有效的映射,则不会发生这种情况)

我尝试使用
urlvalidater
,但似乎没有任何帮助。我还试图找出是否有错误(404),但不知道该去哪里查找

有人能提供建议吗


谢谢

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

@WebFilter(filterName = "sessionFilter", servletNames = {"yourServlet"})
别忘了给你的servlet起个名字

@WebServlet(servletName = "yourServlet", urlPatterns = {"/test/aaa"})

你能详细说明你的问题是什么吗?根据您的过滤器URL模式,应该为每个请求调用过滤器,即使对于没有显式servlet映射的请求也是如此。如果这不是您想要的,您应该限制过滤器URL模式。
@WebServlet(servletName = "yourServlet", urlPatterns = {"/test/aaa"})