在FilterConfig中使用多个值的Java servlet筛选器?可能吗?
我正在尝试实现一个servlet过滤器,它在过滤其他所有内容时会忽略一些URL。 为了使它更灵活,我尝试将排除的URL设置为FilterConfig参数。不过,在服务器配置中,filter params部分似乎不接受给定参数名的多个值,因此我一直想知道是否以及如何在filter init()中包含几个值,然后将这些值作为集合或数组接收 以下是我的基本目标:在FilterConfig中使用多个值的Java servlet筛选器?可能吗?,java,servlets,parameters,servlet-filters,multiple-value,Java,Servlets,Parameters,Servlet Filters,Multiple Value,我正在尝试实现一个servlet过滤器,它在过滤其他所有内容时会忽略一些URL。 为了使它更灵活,我尝试将排除的URL设置为FilterConfig参数。不过,在服务器配置中,filter params部分似乎不接受给定参数名的多个值,因此我一直想知道是否以及如何在filter init()中包含几个值,然后将这些值作为集合或数组接收 以下是我的基本目标: 请求过滤器 …请求筛选器 ignoredUrls /url1 /url2 /url3 当然,我可以使用分隔符拆分器方法,但我想知道是
请求过滤器
…请求筛选器
ignoredUrls
/url1
/url2
/url3
当然,我可以使用分隔符拆分器方法,但我想知道是否有某种标准化的方法可以做到这一点
非常感谢!
AlexServlet规范规定,任何上下文参数只能有一个值。所以,只剩下使用分隔列表 您可以使用一些分隔符作为“,”
<filter>
<filter-name>RequestFilter</filter-name>
<filter-class>...RequestFilter</filter-class>
<init-param>
<param-name>ignoredUrls</param-name>
<param-value>/url1,/url2,/url3</param-value>
</init-param>
</filter>
请你详细说明一下你的答案,再加上一点关于你提供的解决方案的描述,好吗?是的,几周前我一直在努力解决这个问题,这是我找到的唯一方法:)
String[] ignoredUrls = (param!=null)? param.split(",") : {}; // or something like this