7-modul · 4-dars: EL · MultipartFile

Daraja: Ilg'or

EL · MultipartFile. Jakarta EE bo‘yicha nazariya, amaliy namuna va mustaqil mashq.

Tushuntirish

## Dars maqsadi EL · MultipartFile tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.

## Nazariya Jakarta Expression Language viewdagi qiymat va oddiy ifodalarni Java kodini HTMLga aralashtirmasdan o'qishga xizmat qiladi. U request, session yoki boshqa scope attributelari, bean property va collection elementlari bilan ishlaydi. ELni biznes qoidasi yoki ishonchsiz foydalanuvchi bergan bajariladigan til sifatida ishlatmang. Fayl yuklash multipart/form-data formatida yuboriladi: body alohida qismlarga ajraladi. Servlet API jakarta.servlet.http.Partni, Spring MVC esa MultipartFile abstraksiyasini beradi; bu nomlar bitta APIga tegishli emas. Servletda @MultipartConfig yoki deployment descriptor bilan fileSizeThreshold, maxFileSize va maxRequestSize belgilanadi. Original filenamega ishonmang: path traversal, bir xil nomni bosish va serverda executable fayl saqlash xavfi bor. Server o'zi nom yaratsin, ruxsat etilgan tur/size tekshirilsin, fayl web-rootdan tashqarida saqlansin. MIME header client bergan da'vo, mustaqil tekshiruvning o'rnini bosmaydi.

## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/7-module%28Jakarta%20EE%29.md) [Rasmiy qo‘llanma](https://jakarta.ee/specifications/)

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

@jakarta.servlet.annotation.MultipartConfig(
  maxFileSize = 2 * 1024 * 1024, maxRequestSize = 3 * 1024 * 1024)
// Servlet ichida:
// Part file = request.getPart("file");
// file.getInputStream() ni limitlangan xavfsiz storagega yozing.

Keng tarqalgan xatolar

Mashqlar

Teglar: nazariya, modul-07, pdp

Interaktiv ko'rinish (viktorina, izohlar, tarix)