如何不为特定的url模式运行servlet过滤器?

时间:2012-08-05 21:26:08

标签: java tomcat servlets servlet-filters web.xml

我想创建一个servlet过滤器,它适用于我的所有URL路径,除了少数指定(或理想情况下由正则表达式指定)。

这可能吗?不幸的是,我不能改变路径,以便我的所有其他URL都以常见的东西开头......

1 个答案:

答案 0 :(得分:1)

您无法通过符合规范的配置执行此操作。你有几个选择:

  1. 重新编写<filter-mapping> s,以便它们更具体(例如/foo变为/foo/bar/foo/baz但不是/foo/foo。)
  2. 更改过滤器中的代码,以便它知道“排除”URI模式的列表。如果您想在<init-param>中配置它们,甚至可以使用web.xml,但您必须自己完成实际工作。
  3. 添加一组共享公共URI前缀的<filter-mapping><servlet-mapping>并开始使用那些(保留旧映射)实际上。)