1. Filtrelemeye giriş
Filtre, yalnızca istek ve yanıtı değiştirmek için kullanılan Servlet spesifikasyonundaki gelişmiş bir özelliktir.
Filter, FilterChain konseptini ortaya koyar, müşteri talebi, şekilde gösterildiği gibi, servlete ulaşmadan önce filterChain'deki tüm filtrelerden geçecektir:
İkincisi, filtrenin yaşam döngüsü
Filtreyi web.xml'de yapılandırın.Sunucu başlatıldığında somutlaştırılacak ve başlatılacaktır. Bir ağ isteği olduğunda filtrelenecektir.Sunucu kapatıldığında yok edilecektir. Tüm süreç aşağıdaki şekilde gösterilmektedir:
Üç, ilk filtreyi yaz
Filtre sınıfının sığdırıcı arabirimini uygulaması ve içindeki üç yöntemi yeniden yazması gerekir. Bunların arasında, başlatma sırasında init () çağrılır; her seferinde doFiler () yöntemi çağrılır ve bu yöntemde chain.doFilter () çalıştırılmalıdır, aksi takdirde istek yapılmaz Sonraki filtre veya sunucuya teslim edilecektir; sunucu kapatıldığında ondestroy () çağrılır.
Filtreyi yapılandırın:
Bunlar arasında, url_pattern çoklu veya joker karakterlerle yapılandırılabilir.Erişim, yol eşleştirmesini ve dağıtıcıyı karşıladığında, istek, işlenmek üzere filtre tarafından durdurulacak ve işlenen yanıt, filtre tarafından tekrar yakalanacak ve işlenebilecektir.
Sevk görevlisi varsayılan olarak REQUEST'e ayarlıdır ve dört farklı dağıtıcı vardır:
TALEP: istendiğinde geçerlidir
İLERİ: Yalnızca sunucu uygulamasına bir sunucu uygulaması iletildiğinde geçerlidir
DAHİL: jsp geçti < jsp: kapsayıcı / > İstek sunucu uygulaması geçerli
HATA: < % @ page errorPage = ""% > etkili
Dört, anti-sülük
Filtrenin özellikleri, sülük önleme, karakter kodlama işleme, günlük kaydı, veri şifreleme, bazı siyah sözcükleri filtreleme vb. Gibi özel görevleri yerine getirmesini sağlar.
Örneğin: Anti-hotlinking resimleri, diğer web siteleri bu web sitesinin resim kaynaklarını talep ettiğinde, yanlış resimler görüntülenir.Yalnızca bu uygulamanın resimleri doğru resimleri görüntüleyebilir.Kod aşağıdaki gibidir:
Web.xml'de yapılandırın:
Görsellerin altındaki tüm resimlere erişilirken bu filtreyi geçecektir.Erişim başlık bilgilerine göre site ziyaret edilirse doğru resim görüntülenecek aksi takdirde yanlış resim ekrana gelecektir.
Beş, karakter kodlaması
Doğrudan kodda:
Web.xml'de yapılandırın:
Sayfa kodlama yöntemi de tutarlı olmalı, hepsinin utf-8 kullanmasını ummalı ve ayrıca Tomcat'in /config/server.xml kodlamasını yapılandırması gerekir:
Ek olarak, daha yaygın günlük kaydı filtreleri, istisna yakalama filtreleri, izin doğrulama, içerik değiştirme filtreleri vb. Vardır.
Filtre, çok esnek bir mekanizmaya, güçlü bir işleve sahiptir ve servlet ve jsp ile birleştirilmemiştir. Filter, görünüm odaklı programlamanın bir tür düşünme düzenlemesidir ve birçok görevi yerine getirebilir.
2.5 filtresinin web.xml'de yapılandırılması gerekir ve yürütme sırası yapılandırma sırasına göre yapılır.Ayrıca, filtre 3.0 için açıklama şeklinde yapılandırılabilir. Şu anda herhangi bir yapılandırma sırası yoktur.