2009-06-03 6 views
2

Ich möchte einen Filter auf mehrere URL-Endungen anwenden. Die nächste Konfiguration scheint zu funktionieren.Ist es möglich Jokerzeichen in J2EE - Fitlern zu verwenden?

<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> 

Ursprünglich fragte ich, ob es möglich war, Platzhalter zu verwenden, wie zum Beispiel:

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

Aber es scheint nicht möglich zu sein.

Antwort

2

Es gibt keine Vorstellung von einem solchen Operator im Standard, Sie benötigen also zwei Abbildungen. Die Spezifikation der Zuordnungen ist in der Servlet-Spezifikation verfügbar. Eine Verknüpfung und einen Abschnitt finden Sie unter this article.

0

Sie könnten ein bisschen schummeln und/zuordnen. zu Ihrer Filterklasse, dann nehmen Sie für Ihre Filterimplementierung einen Parameter, in dem .do | .xml sind geparst und obwohl Ihr Filter technisch gesehen zu viel sehen kann, überprüft er einfach, ob Sie ihm einen zusätzlichen Test gegeben haben oder nicht, ob der Test funktioniert und ob Filter oder Noops.