如何在我的过滤器上过滤特定的URL以实现ContainerRequestFilter和ContainerResponseFilter?

问题描述 投票:0回答:1

我正在实现如下过滤器:

@Provider
public class MyFilter implements ContainerRequestFilter, ContainerResponseFilter {

    @Override
    public void filter(ContainerRequestContext requestContext) throws IOException {
       System.out.print("request");
    }

    @Override
    public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
       System.out.print("response");
    }

}

如何使过滤器仅适用于遵循特定模式(正则表达式)的URL?

java filter java-ee-7
1个回答
1
投票

过滤器中不允许使用正则表达式 - 有些通配符是

<filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>...</filter-class>
</filter>

<filter-mapping>
    <filter-name> MyFilter</filter-name>
    <url-pattern>/Employee/*</url-pattern>
</filter-mapping>

您可以使用过滤器缩小URL,然后在过滤器Java代码中,您可以使用RegEx进行条件处理

© www.soinside.com 2019 - 2024. All rights reserved.