Sobes.tech
Middle

Springda Filters, Interceptors va Listeners o'rtasidagi farq nima?

sobes.tech AI

AIdan javob

  • Filtrlar (Spring Web): Servlet darajasida so'rovlar va javoblarni ushlaydi. So'rov/javobni o'zgartirish, autentifikatsiya, ruxsat berish, log qilish uchun ishlatiladi va so'rovni kontrollyerga yetib borishidan oldin qo'llaniladi. URL shablonlariga qo'llaniladi.

  • Interceptors (Spring MVC): Spring MVC darajasida so'rovlarni ushlaydi. Filtrlardan keyin, lekin so'rov kontrollyer tomonidan ishlov berilishidan oldin ishlaydi. (preHandle), (postHandle) va (afterCompletion) bilan so'rovni yakunlashdan keyin harakatlarni amalga oshirish imkonini beradi. Modelni manipulyatsiya qilish, kontrollyer darajasida ruxsatlarni tekshirish uchun ishlatiladi. Kontrollyer metodlariga qo'llaniladi.

  • Listeners (Spring Context): Spring kontekstidagi voqealarga javob beradi. Kontekstni ishga tushirish yoki to'xtatish, yoki ma'lum bir voqeani qabul qilish vaqtida harakatlarni amalga oshirish imkonini beradi. Resurslarni boshlash, ma'lumotlarni tozalash yoki ilova holatini o'zgartirishda vazifa bajarish uchun ishlatiladi. Web so'rovlaridan mustaqil ravishda ishlaydi. ApplicationListener interfeysini amalga oshiradi.

Mana taqqoslash jadvali:

Xususiyat Filtrlar Interceptors Listeners
Daraja Servlet Spring MVC Spring Context
Qachon ishlaydi Servletdan oldin va keyin Kontrollyerdan oldin, keyin va yakunlangandan so'ng Voqea yuz berayotganida
Qo'llaniladi URL shablonlari Kontrollyer metodlari Voqea turlari
Maqsad So'rov/javoblarni o'zgartirish, autentifikatsiya Modelni manipulyatsiya qilish, kontrollyer darajasida ruxsat berish Kontekst voqealariga javob berish
Interfeys javax.servlet.Filter org.springframework.web.servlet.HandlerInterceptor org.springframework.context.ApplicationListener