SORU
3 Temmuz 2011, Pazar


Nasıl yürütme SAVAŞTA ek açıklamaları kullanarak sunucu uygulaması filtre tanımlamak için

Eğer biz tanımlamak belirli bir web sunucu uygulaması filtreleri SAVAŞ kendi web.xml, sipariş yürütme filtreler olacaktır aynı sırada hangi onlar tanımlanan web.xml.

Ama, biz bu filtreleri @WebFilter annotation kullanarak tanımlarsanız, ne filtreler yürütme sırasını ve nasıl idam sırasını belirleyebilir miyiz?

CEVAP
3 Temmuz 2011, Pazar


Gerçekten filtre düzeni @WebFilter annotation kullanarak tanımlayabilirsiniz. Ancak, en aza indirir web.xml kullanımı, yeterli açıklama tüm filtreleri ile filterName böylece ihtiyacınız yok <filter> tanım, ama sadece bir <filter-mapping> tanımında istenen sipariş.

Örneğin,

@WebFilter(filterName="filter1")
public class Filter1 implements Filter {}

@WebFilter(filterName="filter2")
public class Filter2 implements Filter {}

web.xml sadece bu:

<filter-mapping>
    <filter-name>filter1</filter-name>
    <url-pattern>/url1/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>filter2</filter-name>
    <url-pattern>/url2/*</url-pattern>
</filter-mapping>

Eğer @WebFilter, URL desen tutmak isterseniz o zaman olduğu gibi bu yapabilirsiniz

@WebFilter(filterName="filter1", urlPatterns="/url1/*")
public class Filter1 implements Filter {}

@WebFilter(filterName="filter2", urlPatterns="/url2/*")
public class Filter2 implements Filter {}

ama hala boş olmasına rağmen başına YANITLANAN olarak gerekli, çünkü web.xml <url-pattern> tutmak gerekir:

<filter-mapping>
    <filter-name>filter1</filter-name>
    <url-pattern />
</filter-mapping>
<filter-mapping>
    <filter-name>filter2</filter-name>
    <url-pattern />
</filter-mapping>

Ne olursa olsun yaklaşımı, bu <filter> olmadan <filter-mapping> varlığı şoklar çünkü sürüm 7.0.28 kadar Tomcat başarısız olur. Ayrıca Using Tomcat, @WebFilter doesn't work with <filter-mapping> inside web.xml bkz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caroline Martin

    Caroline Mar

    19 EYLÜL 2008
  • EvilControllers

    EvilControll

    20 Ocak 2008
  • Stanislav Petrov

    Stanislav Pe

    7 ŞUBAT 2009