8-modul · 8-dars: MultipartResolver · MessageSource · Locale

Daraja: Ilg'or

MultipartResolver · MessageSource · Locale. Spring Framework bo‘yicha nazariya, amaliy namuna va mustaqil mashq.

Tushuntirish

## Dars maqsadi MultipartResolver · MessageSource · Locale tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.

## Nazariya MultipartResolver Spring MVCga multipart requestni tushunishga yordam beradigan strategiyadir. Servlet asosidagi konfiguratsiyada container limitlari ham hisobga olinadi. MultipartFile fayl nomi, hajmi, content type va streamni beradi; u tekshirilgan xavfsiz fayl degani emas. Yuklama limitini proxy, container va ilova qatlamlarida bir-biriga moslang. MessageSource kalit va locale bo'yicha xabar topadi. LocaleResolver request uchun tilni aniqlaydi; Accept-Language, cookie yoki sessionga tayangan yechimlar mavjud. LocaleChangeInterceptor so'rov parametridan til almashtirishni qo'llashi mumkin, lekin tanlangan resolver buni qo'llashi kerak. Ruxsat etilgan locale ro'yxatini cheklang. Tarjima faqat UI matnini emas, sana, raqam va validation xabarlarini ham qamrab oladi. Foydalanuvchining tili serverning global default locale qiymatini request davomida almashtirish bilan boshqarilmaydi: parallel foydalanuvchilar bor. Tarjima topilmaganda fallback siyosatini belgilang va foydalanuvchi kontentini avtomatik tarjima qilingan deb ko'rsatmang.

## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/8-module%28Spring%20Introduction%29.md) [Rasmiy qo‘llanma](https://docs.spring.io/spring-framework/reference/)

Kod quyida o‘quv namunasi sifatida berilgan. To‘liq ilova uchun import, dependency va konfiguratsiya kerak bo‘lishi mumkin. SQLni faqat ajratilgan test bazasida bajaring.

Kod misoli

String message = messageSource.getMessage(
  "note.saved", new Object[]{3}, java.util.Locale.forLanguageTag("uz"));
// messages_uz.properties ichida: note.saved={0} ta yozuv saqlandi

Keng tarqalgan xatolar

Mashqlar

Teglar: nazariya, modul-08, pdp

Interaktiv ko'rinish (viktorina, izohlar, tarix)