JavaRush /Kurslar /All lectures for UZ purposes /JavaBeans bilan ishlash

JavaBeans bilan ishlash

All lectures for UZ purposes
Daraja, Dars
Mavjud

6.1 JavaBeans nima

90-yillarning oxirlariga kelib, Java tili katta server ilovalarida faol qo'llanila boshladi, bunda sinflarning soni o'nlab va yuz minglab o'lchanadi. Shunda Java-ob'ektlarning ko'rinishini standartlashtirish g'oyasi paydo bo'ldi.

Java tilining o'zi bilan ishlamadilar, chunki uning moslashuvchanligini yo'qotmaslik kerak edi. Xo'sh, orqaga moslik va hokazo. Keyin yangi avlod Java-ob'ektlari uchun bir qator mezonlar ishlab chiqildi va bunday ob'ektlar JavaBeans deb nomlandi. Java mashhur qahva brendi nomidan olingan, shuning uchun JavaBeans so'zma-so'z "qahva loviyalari" deb tarjima qilinadi.

Eng muhim mezonlar quyidagicha edi:

  • Sinfning ichki maydonlariga kirish getProperty() metodi orqali amalga oshiriladi.
  • Sinf maydonlariga yozuv setProperty(value) metodi orqali amalga oshiriladi.
  • Sinfda parametrsiz ommaviy konstruktor bo'lishi kerak.
  • Sinf serializatsiyalanadigan bo'lishi kerak.
  • Sinfda equals(), hashCode() va toString() metodlari qayta aniqlangan bo'lishi kerak.

Bunday yondashuv dasturlarni kamroq bog'liq qildi. Har doim aniq tushuniladi:

  • qanday qilib ob'ekt yaratish – standart ommaviy konstruktor mavjud;
  • qanday qilib xususiyat qiymatini olish/o‘rnatish;
  • qanday qilib ob'ektni uzatish/saqlash (serializatsiyani ishlatamiz);
  • qanday qilib ob'ektlarni taqqoslash (equals() va hashCode()dan foydalanamiz);
  • qanday qilib ob'ekt haqida ma'lumotni yozish (toString qo'llanadi).

Hozir bu deyarli sanoat standarti, ammo bir paytlar yangi qadam bo'lgan. Hammaning shunday yozayotgani tuyuladi, lekin agar HttpClient va uning Builderslarini eslasak, yangi standart kimlargadir juda tor kelgani ko'rinib turibdi.

Bunday ob'ektlar, ularning asosiy ma'nosi yuklayotgan joylarda keng qo'llanildi — ma'lumotlarni saqlash. Masalan, grafik interfeyslar, ma'lumotlar bazalari va JSP-sahifalarida.

6.2 JSP va JavaBeans

JSPning paydo bo'lishi sabablaridan biri shundaki, u ustida ishlashni front-endchilarga topshirish mumkin edi. Nima? Senda HTMLni tushunadigan kishi bor, JSPni ham o'sha yozsin. Java dasturchilar o'z qismini yozadi, front-endchilar o'z qismini – hammasi ajoyib.

Hammasi yaxshi edi, to front-endchilar JSP ichidagi Java kodini tushunishga harakat qilishlari kerak bo'lgunga qadar. Yoki, hatto yomonroq, ularni o'zlari yozishlari kerak bo'lganda.

Java dasturchilari ham bundan xursand emas edi. Qani aytinglar, qaysi biridan backend ishlab chiqaruvchilar chiqadi? Ular skriptlardan tashqari hech narsa yozolmaydi. Va butun dasturni paradigmasi shuni ta'kidlaydiki, har xil tillarni bir faylga aralashtirish - bu yomon odat.

Shunday bo'ldi, front-endchilarga Java-ob'ektlar bilan HTML-kod kabi ishlash imkoniyatini berdik. Har bir HTML-teg ham o'ziga xos ob'ekt, o'z maydonlari bilan, nima uchun shunga o'xshash tarzda Java-ob'ektlar bilan ishlashni qurmaysiz?

Qilingan va o'rnatilgan maxsus teglar qo'shildi.

Ob'ekt yaratish:


        <jsp:useBean id="имя" class="тип-объекта" scope="session"/>
        

Ushbu buyruq тип-объекта turdagi ob'ektni yaratadi va uni sessionga имя nomi bilan joylashtiradi.

Ob'ektlarni to'rtta saqlash joyidan birida saqlash mumkin edi: application (global), session, request va page. Shuningdek, bunday ob'ektlarning xususiyatini o'rnatish mumkin edi:


        <jsp:setProperty name="имя" property="propName" value="string constant"/>
        

Bunday ob'ektlarning xususiyatini olish mumkin edi:


        <jsp:getProperty name="имя" property="propName"/>
        

Taglarni qo'llash misoli:



   <body>
    <center>
        <h2>Using JavaBeans in JSP</h2>
 <jsp:useBean id = "test" class = "com.example.TestBean" /> <jsp:setProperty name = "test" property = "message" value = "Hello JSP..." />
        <p> Muhim ishlar qilmoqdamiz</p>
 <jsp:getProperty name = "test" property = "message" />
    </center>
   </body>

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION