Servlet-filter url-mapping

Wie kann ein filter zugeordnet werden, um die Wurzel einer URL? Ich bin mit Tomcat 7.0.2 und bereitstellen einer Anwendung als ROOT.Krieg. Die willkommen-Seite sign_in.xhtml. Ich würde gerne einen filter, wenn der client sendet eine Anforderung für das Stammverzeichnis der Website (d.h. der domain-name nur), oder wenn der client-Anfragen sign_in.xhtml. Hier ist was ich habe, so weit:

  <filter>
        <filter-name>My filter</filter-name>
        <filter-class>com.myApp.myFilter</filter-class>        
    </filter>
    <filter-mapping>
        <filter-name>My filter</filter-name>
        <url-pattern>/sign_in.xhtml</url-pattern>
    </filter-mapping>

Anfragen für sign_in.xhtml direkt, erfolgreich, rufen die filter, aber ich bin mir nicht sicher, wie man Anfragen nach dem root zum aufrufen des filters. Nach der Servlet-Spezifikation (version 3.0)

<url-pattern>/</url-pattern>

Karten zu den Standard-servlet und eine leere Zeichenfolge Karten an der Wurzel. Hier ist der entsprechende Abschnitt aus der spec:

"Der leere string ("") ist eine spezielle URL-Muster, das genau zu den Karten
Anwendung root-Kontext, d.h., Anfragen der form http://host:port//. In diesem Fall ist der Pfad-info '/' und dem servlet-Pfad und Kontext-Pfad ist
leerer string (““)."

Jedoch beide der folgenden url-Muster verursachen Tomcat eine exception werfen.

<url-pattern></url-pattern>
<url-pattern>""</url-pattern>

Ich würde es wirklich schätzen, wenn jemand etwas Licht in diese Schuppen. Danke.

Andrew

Schreibe einen Kommentar