Не думаю, что вы можете, единственная альтернатива конфигурации - перечислять пути, которые вы хотите отфильтровать, поэтому вместо /*
вы можете добавить некоторые для /this/*
и /that/*
и т. Д., Но этоне приведет к достаточному решению, если у вас есть много таких путей.
Что вы можете сделать, это добавить параметр в фильтр, обеспечивающий выражение (например, регулярное выражение), которое используется для пропуска функции фильтраза пути совпали.Контейнер сервлетов все равно будет вызывать ваш фильтр для этих URL, но вы будете лучше контролировать конфигурацию.
Редактировать
Теперь, когда вы упомянули, что не можете контролироватьфильтровать, вы можете либо наследовать от этого фильтра, вызывая методы super
в его методах, кроме случаев, когда присутствует URL-путь, который вы хотите пропустить, и следовать цепочке фильтров, как предложено @BalusC, либо создать фильтр, который создает ваш фильтрделегаты при тех же обстоятельствах.В обоих случаях параметры фильтра будут включать в себя как параметр выражения, который вы добавляете, так и параметр фильтра, который вы наследуете или делегируете.
Преимущество создания делегирующего фильтра (оболочки) заключается в том, что вы можете добавить фильтркласс обернутого фильтра в качестве параметра и его повторное использование в других ситуациях, подобных этой.