Можно ли использовать подстановочные знаки в J2EE-фитлерах?

Я хотел бы применить фильтр к окончанию нескольких URL-адресов. Следующая конфигурация вроде работает.

<filter>
    <filter-name>LanguageFilter</filter-name>
    <filter-class>filters.LanguageFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>LanguageFilter</filter-name>
    <url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>LanguageFilter</filter-name>
    <url-pattern>*.xml</url-pattern>
</filter-mapping>

Первоначально я спросил, можно ли использовать такие символы, как:

    <url-pattern>*.do|*.xml</url-pattern>

Но это не кажется возможным.


person Sergio del Amo    schedule 03.06.2009    source источник


Ответы (2)


В стандарте нет понятия такого оператора, поэтому вам нужно два сопоставления. Спецификация отображений доступна в спецификации сервлета. См. Ссылку и раздел в этой статье.

person Alexander Torstling    schedule 03.06.2009

Вы можете немного обмануть и сопоставить / . со своим классом фильтра, а затем пусть ваша реализация фильтра принимает параметр, в котором обрабатываются .do | .xml, и хотя ваш фильтр, технически может видеть слишком много, он просто проверяет, провели ли вы ему дополнительный тест, выполняет ли тест и либо фильтрует, либо noops.

person Nathan Feger    schedule 27.04.2010