我正在将一些代码从 Guice 迁移到 Spring。 guice-servlet 有一个很好的功能,允许您使用正则表达式来匹配 servlet 过滤器。例如我正在使用
filterRegex("^.*\\.cache\\..*$").through(ForceCacheFilter.class);
我需要在 Spring 中复制它。
我可以轻松编写一个过滤器,它采用正则表达式和过滤器的类名来委托(delegate)作为参数/属性。它会将 URL 与正则表达式进行匹配,并在需要时委托(delegate)给过滤器类。我想这可以更进一步,并有一个过滤器根据正则表达式分派(dispatch)到多个过滤器 - 就像 Guice 所做的那样。
令我惊讶的是,我还没有找到可以做到这一点的东西。也许我还不够努力,或者这不是一个好主意?
是否存在这样的东西或者我需要编写一些代码吗?
最佳答案
你的意思是这样吗?
<filter>
<filter-name>someFilter</filter-name>
<filter-class>org.springframework.web.filter.SomeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>someFilter</filter-name>
<url-pattern>/somePath/*</url-pattern>
</filter-mapping>
关于java - web.xml 是否有基于正则表达式的 servlet 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13932389/