Я конвертирую файл web.xml
в конфигурацию на основе Java, используя Spring-web WebApplicationInitializer
. Ниже приведен пример фильтра, определенного
<filter>
<filter-name>sampleFilter</filter-name>
<filter-class>com.SampleFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sampleFilter</filter-name>
<url-pattern>/sampleUrl</url-pattern>
</filter-mapping>
и теперь класс WebApplicationInitializer выглядит так
class MyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override
protected Filter[] getServletFilters() {
return new Filter[]{new SampleFilter()};
}
//other methods
}
Но, как видите, фильтр применяется ко всем ресурсам, а я хочу сопоставить фильтр только для /sampleUrl
. Как мы это делаем?
DispatcherServlet
. Похоже, это так, потому чтоDispatcherServlet
по умолчанию зарегистрирован на/
. Если вы этого не хотите, переопределитеonStartup
в вашем инициализаторе, зарегистрируйте фильтр и вызовитеsuper.onStartup
. - person M. Deinum   schedule 16.02.2016