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

  • Gali B

    Gali B

    1 EYLÜL 2006
  • Marina and The Diamonds

    Marina and T

    8 Temmuz 2008
  • MyCyberAcademy

    MyCyberAcade

    2 EKİM 2011