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

  • FullMag

    FullMag

    15 ŞUBAT 2007
  • LearnCode.academy

    LearnCode.ac

    20 Aralık 2012
  • Professor Messer

    Professor Me

    27 NİSAN 2007

İLGİLİ SORU / CEVAPLAR