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