15-LABORATORIYA ISHI
Mavzu: Serverlarda dinamik veb-sahifalarni yaratish
Ishning maqsadi:
Talabalarda JSP yordamida dinamik veb-sahifalar yaratish bo‘yicha
ko‘nikmalar shakllantirish.
Nazariy qism:
Java Server Pages (JSP) veb-kontent bilan ishlashni
soddalashtirish uchun
servlet texnologiyasining kengaytmasi bo‘lgan J2EE texnologiyalaridan biridir.
JSP sahifalari veb-kontentni oldindan belgilangan komponentlardan ko‘p
foydalanishga imkon beruvchi statik va dinamik qismga bo‘lishni osonlashtiradi.
Java Server Pages ishlab chiquvchilari JavaBeans komponentlarini
ishlatishlari va murakkab dinamik funktsional vositalarni o‘z ichiga olgan standart
bo‘lmagan teglar o‘zlarining kutubxonalarini yaratishi mumkin.
Java Server Sahifalari spetsifikatsiyasi devralır va servlet xususiyatlarini
kengaytiradi. Servlets kabi, JSP komponentlari veb-tarkibiy qismlari bilan bog‘liq
va veb-konteynerida joylashgan. JSPlar veb-konteynerning
aniq bajarilishiga
bog‘liq emas, bu ularni qayta ishlatishga imkon beradi.
Java Server Pages texnologiyasi to‘rt asosiy komponentdan iborat:
- Direktivlar - sahifa parametrlarini aniqlashga, boshqa resurslarni ulashga
va o‘zingizning nostandart bo‘lmagan taglik kutubxonalaridan foydalanishga
imkon beruvchi JSP konteyneriga oid xabarlar.
- Amallar harakatlar JSP sahifasiga joylashtirilishi mumkin bo‘lgan oldindan
belgilangan teglardagi funksiyalarni qamrab oladi.
JSP xatti-harakatlar odatda
serverga yuborilgan ma’lumotlarga asoslanib, muayyan mijozning so‘rovining bir
qismi sifatida amalga oshiriladi. Amallar JSP scriptletlarida foydalanish uchun
Java moslamalarni ham yaratishi mumkin.
- Skript platalar sizga Java kodini JSP sahifalariga qo‘shish imkonini beradi,
ular sahifadagi moslamalarni so‘rovlar bilan ishlayotganda o‘zaro ta’sir qiladi.
2
- Tag kutubxonalari taglarni kengaytirish mexanizmining ajralmas qismi
bo‘lib, o‘z teglar ishlab chiqish va foydalanishga imkon beradi.
Ko‘p hollarda servlets va JSP sahifalari bir-birining o‘rnini almashtirish
mumkinligini ta’kidlash kerak.
Servletlar singari, JSP sahifalari odatda JSP
konteyneri deb nomlangan veb-serverning yonida ishlaydi.
JSP texnologiyasini qo‘llab-quvvatlovchi veb-server JSP sahifasining
birinchi so‘rovini qabul qilganda, JSP konteynerlari
ushbu JSP sahifasini joriy
so‘rovga va ushbu sahifaga tegishli keyingi istaklarga xizmat ko‘rsatadigan Java
servletiga aylantiradi. Yangi servletni tuzishda xatolar yuzaga kelsa, bu xatolar
kompilyatsiya bosqichida xatoga yo‘l qo‘yadi. Tarjima bosqichida JSP konteyneri
Jsp-sahifa javobini _jspService usulida qo‘llaydigan Java-qoidalarini joylashtiradi.
Servlet xatoliklarsiz to‘plansa, JSP konteyner so‘rovni qayta ishlash uchun
_jspService usulini chaqiradi.
JSP sahifasi so‘rovni bevosita ishlashi yoki so‘rovning
ishlashini
engillashtirish uchun veb-ilovaning boshqa tarkibiy qismlarini chaqirishi mumkin.
Jarayon vaqtida yuz beradigan har qanday xato, istalgan bosqichda veb-serverda
istisno qilishga olib keladi.
JSP teglari. Standart HTML teglarga va oddiy matnga qo‘shimcha ravishda,
JSPga xos teglar soni JavaServer sahifasida foydalanish mumkin. JSP yorlig‘i turli
kategoriyalari berilgan quyida ko‘rsatilgan. Ushbu ro‘yxatga har bir toifadagi
maqsadning ta’rifi amal qiladi kerakli sintaksis va qisqacha misollar.
- direktivlar;
- e’lonlar;
-
iboralar;
- skriptlar;
- izohlar;
- amallar.
Quyidagi teglar uchun ishlatiladigan barcha kalit so‘zlar kamroq bo‘lishi
kerakligini unutmang.
Direktivlar.
3
Ushbu turkumda uchta teg bor:
- sahifa (veb-sahifaning atributlarini til, contentType va import kabi boshqa
bir qator kalit so‘zlar orqali aniqlash uchun ishlatiladi);
- kiritilishi (kiritilishi kerak bo‘lgan tashqi faylni ko‘rsatish);
- taglib (ishlatiladigan maxsus tag kutubxonasini ko‘rsatish).
Ushbu direktivalar JSP domeniga aylantirilgandan so‘ng JSP mexanizmi
tomonidan ishlov beriladi bir servlet. Bunday teglar
<% @ va oxiriga % bilan
boshlanadi. Eslatma yo‘q bo‘lishi kerak
% va
@ oralig‘ida bo‘shliqlar.
Imzolangan ma’lumotlardan foydalanib, mavjud bo‘lgan Java paketining
tarkibiga odatiy qisqartirilgan murojaat qilish uchun pagetag bilan foydalaning.
E’lonlar. Bu so‘zlar yoki skriptlardagi keyingi foydalanish uchun
o‘zgaruvchilar e’lon qiladi. (Pastga qarang.) Teglar
<%! " bilan boshlanadi va
%>
bilan tugaydi.
Misol:
<%! int visitCount; %>
<%! Date today = new Date(); %>
Bunday deklaratsiyalar yaratiladigan servlet klassining o‘zgaruvchan
parametrlarini bildiradi Ushbu JSP dan va sahifadagi
keyingi JSP teglarida tan
olinadi.