في هذا الدرس سوف نشرح دورة حياة JSP. المفتاح لفهم الوظائف ذات المستوى المنخفض لـ JSP هو فهم دورة الحياة البسيطة التي تتبعها.
يتم تعريف دورة حياة JSP بأنها العملية منذ إنشائها وحتى تدميرها. يشبه هذا دورة حياة servlet مع خطوة إضافية مطلوبة لتجميع JSP في servlet.
المسارات التي يتبعها JSP
فيما يلي المسارات التي يتبعها JSP :
1 – التجميع
2 – التهيئة
3 – تنفيذ
4 – تنظيف
المراحل الأربع الرئيسية لدورة حياة JSP تشبه إلى حد كبير دورة حياة Servlet. وقد تم وصف المراحل الأربع أدناه
تجميع JSP Compilation
عندما يطلب المتصفح JSP، يتحقق محرك JSP أولاً لمعرفة ما إذا كان يحتاج إلى ترجمة الصفحة. إذا لم يتم تجميع الصفحة مطلقًا، أو إذا تم تعديل JSP منذ آخر تجميع لها، فسيقوم محرك JSP بتجميع الصفحة.
تتضمن عملية التجميع ثلاث خطوات (تحليل JSP ، تحويل JSP إلى servlet ، تجميع servlet).
تهيئة JSP Initialization
عندما تقوم حاوية بتحميل JSP، فإنها تستدعي طريقة jspInit() قبل خدمة أي طلبات. إذا كنت بحاجة إلى إجراء تهيئة خاصة بـ JSP، فتجاوز طريقة jspInit()
public void jspInit(){
// Initialization code...
}
عادةً، يتم إجراء التهيئة مرة واحدة فقط، وكما هو الحال مع طريقة servlet init، يمكنك عمومًا تهيئة اتصالات قاعدة البيانات وفتح الملفات وإنشاء جداول البحث في طريقة jspInit.
تنفيذ JSP Execution
تمثل هذه المرحلة من دورة حياة JSP جميع التفاعلات مع الطلبات حتى يتم تدمير JSP.
عندما يطلب المتصفح JSP ويتم تحميل الصفحة وتهيئتها، يقوم محرك JSP باستدعاء طريقة _jspService() في JSP.
تأخذ طريقة _jspService() HttpServletRequest وHttpServletResponse كمعلمات لها كما يلي
void _jspService(HttpServletRequest request, HttpServletResponse response) {
// Service handling code...
}
يتم استدعاء طريقة _jspService() الخاصة بـ JSP على أساس الطلب. هذا هو المسؤول عن إنشاء الاستجابة لهذا الطلب وهذه الطريقة مسؤولة أيضًا عن إنشاء استجابات لجميع طرق HTTP السبعة، أي GET وPOST وDELETE وما إلى ذلك.
التنظيف JSP Cleanup
تمثل مرحلة التدمير في دورة حياة JSP عندما تتم إزالة JSP من الاستخدام بواسطة الحاوية.
طريقة jspDestroy() هي طريقة JSP المكافئة لطريقة التدمير للسيرفلتس. قم بتجاوز jspDestroy عندما تحتاج إلى إجراء أي عملية تنظيف، مثل تحرير اتصالات قاعدة البيانات أو إغلاق الملفات المفتوحة.
تحتوي طريقة jspDestroy() على النموذج التالي
public void jspDestroy() {
// Your cleanup code goes here.
}