Bir URL'nin köküne nasıl bir filtre eşlenebilir? Tomcat 7.0.2 kullanıyorum ve bir uygulamayı ROOT.war olarak kullanıyorum. Karşılama sayfası sign_in.xhtml. İstemcinin sitenin kökeni için bir istek gönderdiğinde (yani yalnızca alan adı) veya istemcinin sign_in.xhtml istediğinde bir filtre çalıştırmak istiyorum. İşte ben bugüne kadar ne var: sign_in.xhtml içinServlet filtresi url eşleştirmesi
<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>
İstekleri doğrudan başarıyla filtreyi çağırmak, ama filtreyi çağırmak için root için istekleri nasıl emin değilim. Servlet spec göre (sürüm 3,0)
<url-pattern>/</url-pattern>
varsayılan servlet'dir haritalar ve köküne boş bir dize haritalar.
"boş dize (" ") tam olarak yani uygulamanın içerik kökü, eşleştiren özel bir URL modeli, forma http://host:port//Bu durumda yol bilgisi istekleri olduğunu. Burada spec alakalı bölüm var '/' ve sunucu yolu ve bağlam yolu boş dizedir (““). ” Ancak, aşağıdaki URL kalıplarının her ikisi de Tomcat'in bir istisna atmasına neden olur.
<url-pattern></url-pattern>
<url-pattern>""</url-pattern>
Bu konuda biraz ışık tutabilirse gerçekten çok memnun olurum. Teşekkür ederim.
Andrew
Bu BalusC'ye baktığınız için teşekkür ederiz. Kullanıcının şifresini değiştirmesi gerekiyorsa yönlendirmeyi zorlamak niyetindeyim. Bir filtre uygun çözüm gibi görünüyor. Sanırım 7.0.3'ü beklemeli veya farklı bir şey bulmam gerekecek. Herhangi bir fikir? –
Yalnızca istek URI'sı boş olduğunda harekete geçen '/ *' üzerinde dinleyen bir filtre. – BalusC
Bir adım atacağım ve Tomcat hatası düzeltildikten sonra url-patten'i güncelleyeceğim. –