Bunu Spring MVC uygulamamda görüyorum web.xml
:
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
Neden orada olduğunu ve gerçekten gerekli olup olmadığını anlamaya çalışıyorum.
Bu açıklamayı Bahar belgelerinde buldum ama anlamlandırmama yardımcı olmuyor:
Görünüşe göre bu bileşen, Yay'da tanımlanan sunucu uygulamaları ve Yay'da tanımlanan web.xml
bileşenler arasındaki "yapıştırıcı" applicationContext.xml
.
7.1 Yetki VermeFilterProxy
Sunucu uygulaması filtrelerini kullanırken, bunları açık bir şekilde sizde bildirmeniz gerekir
web.xml
, aksi takdirde sunucu uygulaması kapsayıcısı tarafından göz ardı edilirler. Spring Security'de filtre sınıfları aynı zamanda uygulama bağlamında tanımlanan Bahar çekirdekleridir ve bu nedenle Spring'in zengin bağımlılık enjeksiyon tesislerinden ve yaşam döngüsü arayüzlerinden yararlanabilmektedir. Spring , uygulama bağlamı ileDelegatingFilterProxy
arasındaki bağlantıyı sağlarweb.xml
.DelegatingFilterProxy kullanırken, şu şekilde bir şey göreceksiniz:
web.xml
dosyada :<filter> <filter-name>myFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>myFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Filtrenin aslında filtrenin
DelegatingFilterProxy
mantığını uygulayacak sınıf değil , aslında a olduğuna dikkat edin . YaptığıDelegatingFilterProxy
şey, Filtrenin yöntemlerini Spring uygulama bağlamından elde edilen bir bean aracılığıyla yetkilendirmektir. Bu, Bean'in Spring web uygulaması bağlam yaşam döngüsü desteğinden ve yapılandırma esnekliğinden yararlanmasını sağlar. Fasulye uygulamalıjavax.servlet.Filter
ve filtre adı öğesindekiyle aynı ada sahip olmalıdır. OkumakDaha fazla bilgi için DelegatingFilterProxy için Javadoc'u
Peki bunu elimden çıkarırsam web.xml
ne olacak? Servletlerim Spring konteynırıyla iletişim kuramayacak mı? **