Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java FilterRegistrationBean url模式没有';行不通_Java_Spring_Spring Boot_Spring Security - Fatal编程技术网

Java FilterRegistrationBean url模式没有';行不通

Java FilterRegistrationBean url模式没有';行不通,java,spring,spring-boot,spring-security,Java,Spring,Spring Boot,Spring Security,我正在为日志输出注册一个如下所示的过滤器 我想要url模式:/*/api/* @Bean public CommonsRequestLoggingFilter commonsRequestLoggingFilter() { CommonsRequestLoggingFilter filter = new CommonsRequestLoggingFilter(); filter.setIncludeClientInfo(true); filter.setIncludeH

我正在为日志输出注册一个如下所示的过滤器

我想要url模式:
/*/api/*


@Bean
public CommonsRequestLoggingFilter commonsRequestLoggingFilter() {
    CommonsRequestLoggingFilter filter = new CommonsRequestLoggingFilter();
    filter.setIncludeClientInfo(true);
    filter.setIncludeHeaders(true);
    filter.setIncludePayload(true);
    filter.setIncludeQueryString(true);
    filter.setMaxPayloadLength(1000);
    return filter;
}


     @Bean
    public FilterRegistrationBean filterRegistrationBean () {
        final FilterRegistrationBean registrationBean = new FilterRegistrationBean();
        registrationBean.addUrlPatterns("/*/api/*");

        return registrationBean;
    }

由于代码注册Servlet
过滤器
,因此URL模式必须符合Servlet规范中指定的Servlet/Filters支持的URL映射:

12.2映射规范

在Web应用程序部署描述符中,以下语法用于定义映射:

  • 路径映射使用以
    /
    字符开头,以
    /*
    后缀结尾的字符串

  • *。
    前缀开头的字符串用作扩展映射

  • 空字符串(“”)是一种特殊的URL模式,它精确地映射到应用程序的上下文根,即
    http://host:port//
    。在这种情况下,路径信息是
    /
    ,servlet路径和上下文路径是空字符串(“”)

  • 仅包含
    /
    字符的字符串表示应用程序的“默认”servlet。在这种情况下,servlet路径是请求URI减去上下文路径,路径信息为空

  • 所有其他字符串仅用于精确匹配

因此,URL只能有一个通配符,并且必须是第一个或最后一个:

  • /some/path/*
  • *.ext