DispatcherServlet soʻrovlarni quyidagicha ishlaydi:
-
WebApplicationContexttopiladi va soʻrovga atribut sifatida bogʻlanadi, bu atributni controller va boshqa jarayon elementlari ishlatishi mumkin. Sukut boʻyicha buDispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTEkaliti bilan bogʻlangan. -
Mintaqaviy sozlamalar tanish moslamasi soʻrovga bogʻlanadi, bu jarayon elementlariga soʻrovni qayta ishlashda (koʻrinishni tasvirlash, ma'lumot tayyorlash va hokazo) qaysi mintaqaviy sozlamalarni ishlatishni belgilash imkonini beradi. Agar mintaqaviy sozlamalarni tanish kerak boʻlmasa, tanish moslamasi ham kerak emas.
-
Subject tanish moslamasi soʻrovga bogʻlanadi, shunda elementlar, masalan, koʻrinishlar, qaysi subjectni ishlatishni belgilashi mumkin. Agar subjectlar ishlatilmasa, uni e'tiborsiz qoldirish mumkin.
-
Agar koʻp qismli fayllarni tanish moslamasi belgilangan boʻlsa, soʻrovda koʻp qismli elementlar borligi tekshiriladi. Agar koʻp qismli elementlar topilsa, soʻrov boshqa jarayon elementlari tomonidan keyingi qayta ishlash uchun
MultipartHttpServletRequestichiga olinadi. -
Mos keladigan handler qidiriladi. Agar handler topilsa, handler bilan bogʻliq bajarish zanjiri (preprocessorlar, postprocessorlar va controllerlar) modelni tasvirlashga tayyorlash uchun ishga tushiriladi. Bundan tashqari, annotatsiyalangan controllerlar uchun javob (ichida
HandlerAdapter) koʻrinishni qaytarish oʻrniga tasvirlanishi mumkin. -
Agar model qaytarilsa, tasvirlash koʻrinishi amalga oshiriladi. Agar model qaytarilmasa (ehtimol, soʻrovni preprocessor yoki postprocessor ushlab qolganligi sababli, xavfsizlik nuqtai nazaridan), koʻrinish yaratilmaydi, chunki soʻrov allaqachon bajarilgan boʻlishi mumkin.
HandlerExceptionResolver beanlar, WebApplicationContextda e'lon qilingan, soʻrovni qayta ishlashda yuzaga keladigan istisnolarni tan olish uchun ishlatiladi. Ushbu istisnolarni qayta ishlash moslamalari istisnolarni qayta ishlash mantiqini sozlash imkonini beradi.
HTTP-keshlashni ta'minlash uchun handlerlar WebRequestdan CheckNotModified metodlarini, shuningdek annotatsiyalangan controllerlar uchun qoʻshimcha opsiyalarni ishlatishi mumkin.
Alohida DispatcherServlet nusxalarini sozlashingiz mumkin, servletlarni eʼlon qilish uchun servlet konfiguratsiyalari qoʻshing (init-param elementlari), web.xml faylida. Quyidagi jadvalda qoʻllab-quvvatlanadigan konfiguratsiyalar roʻyxati keltirilgan:
| Parametr | Tavsif |
|---|---|
|
|
|
|
|
Kontextlarni qayerda qidirish kerakligini belgilash uchun kontext nusxasiga (belgilangan |
|
|
|
|
|
Agar soʻrov boʻyicha handler topilmasa, Sukut boʻyicha ushbu parametr E'tibor bering, agar sukut boʻyicha servletlarni qayta ishlash ham sozlangan boʻlsa, aniqlanmagan soʻrovlar har doim sukut boʻyicha servletga yoʻnaltiriladi va 404 xabar hosil qilinmaydi. |
GO TO FULL VERSION