如何在spring mvc中的filterRegistrationBean中排除url映射?

时间:2015-09-18 22:02:44

标签: spring spring-mvc servlet-filters url-mapping

Spring 4.0 application没有使用web.xml。 我在春季项目中有以下webApplicationIntializer

public class MyWebAppInitializer implements WebApplicationInitializer {


    public static final String MAPPING_URL = "/*";

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        WebApplicationContext context =new AnnotationConfigWebApplicationContext();

        servletContext.addListener(new ContextLoaderListener(context));


        servletContext.addFilter("counterMetricsFilter", new DelegatingFilterProxy("counterMetricsFilter")).addMappingForUrlPatterns(null,
                false, MAPPING_URL);


        ServletRegistration.Dynamic dispatcher = servletContext.addServlet("DispatcherServlet", new DispatcherServlet(
                context));
        dispatcher.setLoadOnStartup(1);
        dispatcher.addMapping(MAPPING_URL);

    }
}

我希望将过滤应用于以下模式。

"/v[1-9][0-9]*}"/*/v[1-9][0-9]*}"/foobar;

以外的所有内容

即,以下内容将filters应用

/v2/helloworld
/v21/dummy

但应忽略以下url模式

/foo/bar
/v2/foobar
/v21/foobar

url匹配从v{2...}开始,后跟除了foobar之外的任何内容,以便filter应用。

由于

0 个答案:

没有答案