我想创建一个servlet过滤器,它适用于我的所有URL路径,除了少数指定路径(或者理想情况下由regex指定)。
这可能吗?不幸的是,我无法更改路径,使我的所有其他URL都以常见的内容开头。。。。
您不能通过符合规范的配置来实现这一点。你确实有几个选择:
- 重写您的
<filter-mapping>
,使其更加具体(例如,/foo
变为/foo/bar
和/foo/baz
,而不是/foo/foo
) - 更改过滤器中的代码,使其了解"排除"URI模式的列表。如果你想在
web.xml
中配置它们,你甚至可以使用<init-param>
,但你必须自己做真正的工作 - 添加一组确实共享公共URI前缀的
<filter-mapping>
s和<servlet-mapping>
s,并开始使用这些(保留旧映射)