Java web App如何映射更多url的筛选器

Java web App如何映射更多url的筛选器,java,filter,Java,Filter,我有自己的筛选器,我想将此筛选器添加到我的url Url是: admin_menu admin_users admin_banana admin_orange 我的映射: sce.getServletContext().addFilter("adminFilter1", adminGuar).addMappingForUrlPatterns(null, false, "/admin_menu"); sce.getServletContext().addFilter("adminFilter2

我有自己的筛选器,我想将此筛选器添加到我的url

Url是:

admin_menu
admin_users
admin_banana
admin_orange
我的映射:

sce.getServletContext().addFilter("adminFilter1", adminGuar).addMappingForUrlPatterns(null, false, "/admin_menu");

sce.getServletContext().addFilter("adminFilter2", adminGuar).addMappingForUrlPatterns(null, false, "/admin_users");

sce.getServletContext().addFilter("adminFilter3", adminGuar).addMappingForUrlPatterns(null, false, "/admin_banana");

sce.getServletContext().addFilter("adminFilter4", adminGuar).addMappingForUrlPatterns(null, false, "/admin_orange");
有没有更好的方法来映射过滤器?我的意思是使用一个命令

我尝试映射url/admin.*(但不起作用!):


谢谢您的帮助。

通配符只能用于

但是,
FilterRegistration.addMappingForUrlPatterns
方法的最后一个参数是一个var arg,因此您可以写得稍微短一点

sce.getServletContext().addFilter("adminFilter", adminGuar).addMappingForUrlPatterns(null, false, 
    "/admin_menu", "/admin_users", "/admin_banana", "/admin_orange");
此外,当前的URL模式需要进行以下重新设计:

/admin/menu
/admin/users
/admin/banana
/admin/orange
这就允许

 sce.getServletContext().addFilter("adminFilter", adminGuar)
    .addMappingForUrlPatterns(null, false, "/admin/*");
 sce.getServletContext().addFilter("adminFilter", adminGuar)
    .addMappingForUrlPatterns(null, false, "/admin/*");