6.1 JavaBeans дегеніміз не
90-жылдардың соңына қарай Java тілі үлкен серверлік қосымшалар үшін белсенді қолданылып, ондаған және жүздеген мың сыныптарды қамтыды. Сол кезде Java-объектілерінің пішімін стандарттау идеясы пайда болды.
Java тілін толық өзгерткен жоқ, себебі икемділігін жоғалтқысы келмеді. Мәселен, артқа үйлесімділік дегендей. Сондықтан жаңа буын Java-объектілері үшін бірқатар критерийлерді жасады және оларды Java Beans деп атады. Java сөзі танымал кофе брендіне байланысты қойылған, сондықтан Java Beans "кофе бұршақтары" деп аударылады.
Ең маңызды критерийлер мыналар еді:
- Кластың ішкі өрістеріне қолжетімділік
getProperty()
әдісі арқылы жүзеге асады. - Мәліметтерді кластың өрістеріне жазу
setProperty(value)
әдісі арқылы жүзеге асады. - Класс міндетті түрде параметрсіз ашық конструкторға ие болуы керек.
- Класс сериализацияға қабілетті болуы керек.
- Кластың қайта анықталған
equals()
,hashCode()
жәнеtoString()
әдістері болуы керек.
Бұл тәсіл қосымшалардың байланысын азайтуға мүмкіндік берді. Әрқашан анық:
- объектіні қалай құру – стандартты ашық конструкторы бар;
- қасиетті қалай алу/орнату;
- объектіні қалай беру/сақтау (сериализацияны қолданамыз);
- объектілерді қалай салыстыру (equals() және hashCode() қолданамыз);
- объект туралы ақпаратты логқа қалай шығару (toString қолданамыз).
Қазір бұл іс жүзінде саланың стандарты, ал бір кездері бұл жаңа талпыныс болды. Қазірдің өзінде барлығы солай жазатын сияқты, бірақ HttpClient пен оның Builders-ті еске алсақ, жаңа стандарттың біреуге ыңғайсыз болғаны көрінеді.
Мұндай объектілердің негізгі мәні деректерді сақтау болып табылады, сондықтан олар графикалық интерфейстерде, мәліметтер базасында және JSP беттерінде кеңінен қолданылады.
6.2 JSP және JavaBeans
JSP-ның пайда болуының бір себебі, онымен жұмыс істеуді фронтендшілерге беру мүмкіндігі еді. Неге десеңіз? HTML-ды білетін адам бар, сол JSP-ны жазсын. Java-бағдарламашылар өз бөлігін, фронтендшілер өз бөлігін жазады – бәрі керемет.
Барлығы жақсы болды, бірақ фронтендшілерге JSP-ге енгізілген Java-кодты түсіну керек болғанша. Немесе, одан да жаманы, сол кодты өздері жазуы керек болды.
Java-бағдарламашылар да бұған қуанышты емес еді. Айтыңызшы, верстальщиктер қандай бэкенд-разработчики? Олар скриптерден басқа ештеңе жаза алмайды. Және барлық бағдарламалау парадигмасы әртүрлі тілдерді бір файлда араластыруды жаман деп санайды.
Сонда фронтендшілерге Java-объектілерімен HTML-код сияқты жұмыс істеу мүмкіндігін беру идеясы пайда болды. Әрбір HTML-тег - бұл өз өрістері бар объекті, неге Java-объектілерімен де сол сияқты жұмыс істемеске?
Айтылды, жасалды. Арнайы тегтер қосылды және басталды.
Объектіні жасау:
<jsp:useBean id="аты" class="объект-типі" scope="session"/>
Бұл команда объект-типі
түріндегі объектіні құрып, оны сессияға
аты
бойынша қоятын.
Объектілерді төрт сақтау орындарының бірінде сақтауға болатын: application (глобалды), session, request және page. Сонымен қатар, мұндай объектілердің қасиеттерін орнатуға болатын:
<jsp:setProperty name="аты" property="propName" value="string constant"/>
Мұндай объектілердің қасиеттерін алу былайша жүзеге асатын:
<jsp:getProperty name="аты" property="propName"/>
Тегтерді қолдану мысалы:
<body>
<center>
<h2>JSP-де JavaBeans қолдану</h2>
<jsp:useBean id = "test" class = "com.example.TestBean" /> <jsp:setProperty name = "test" property = "message" value = "Hello JSP..." />
<p> Маңызды бірдеме жасап жатырмыз</p>
<jsp:getProperty name = "test" property = "message" />
</center>
</body>
GO TO FULL VERSION