English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
مفتاح فهم الوظيفة الأساسية لـ JSP هو فهم الحياة التي تتبعها.
حياة JSP هي عملية من إنشاء إلى تدمير، تشبه إلى حد كبير حياة servlet، ولكن يختلف حياة JSP بأنها تشمل أيضًا تمرير ملف JSP إلى servlet.
هذه هي بعض المراحل التي يمر بها حياة JSP:
مرحلة الترجمة:
يتم ترجمة ملف المصدر servlet محرك servlet، ويتم إنشاء فئة servlet
مرحلة التدوير:
تحميل فئة servlet التي تتطابق مع JSP، إنشاء مثالها، وتطبيق طريقة التدوير
مرحلة التنفيذ:
تطبيق طريقة الخدمة للمثال الخاص بالservlet الذي يتطابق مع JSP
مرحلة التدمير:
تطبيق طريقة التدمير للمثال الخاص بالservlet الذي يتطابق مع JSP، ثم تدمير مثال servlet
من الواضح أن أربع مراحل رئيسية في حياة JSP تشبه إلى حد كبير حياة servlet، ويقدم لنا الشكل التالي:
عندما يطلب المتصفح صفحة JSP، يقوم محرك JSP أولاً بالتحقق من ما إذا كان يجب تمرير هذا الملف. إذا لم يتم تمرير هذا الملف من قبل أو تم تغييره بعد التمرير الأخير، فإنه يتم تمرير ملف JSP هذا.
عملية التجميع تتكون من ثلاث خطوات:}
تحليل ملف JSP.
تحويل ملف JSP إلى servlet.
تجميع servlet.
بعد تحميل ملف JSP من قبل المحلل، سيقوم المحلل بتشغيل طريقة jspInit() قبل تقديم أي خدمة للطلب. إذا كنت بحاجة إلى تنفيذ مهام تمهيدية مخصصة، يمكنك إعادة كتابة طريقة jspInit()، مثلما يظهر أدناه:
public void jspInit(){ // كود التمهيد }
عادةً، يتم التمهيد مرة واحدة فقط للبرنامج، servlet أيضًا. عادةً، يمكنك التمهيد قاعدة البيانات، فتح الملفات، وتوليد جداول البحث في طريقة jspInit().
هذه المرحلة تصف كل التفاعلات المتعلقة بالطلب في حياة JSP، حتى يتم تدميرها.
بعد إكمال صفحة JSP التمهيدية، سيدعو محرك JSP الطريقة _jspService().
_jspService() الطريقة تحتاج إلى Object HttpServletRequest وHttpServletResponse كأدواتها، مثلما يظهر أدناه:
void _jspService(HttpServletRequest request, HttpServletResponse response) { // كود معالجة الخادم }
_jspService() الطريقة يتم استدعاؤها مرة واحدة في كل request ويكون مسؤولة عن توليد الرد الم相对应، وهي أيضًا مسؤولة عن توليد جميع 7 طرق HTTP، مثل GET،POST،DELETE،إلخ.
مرحلة التدمير في حياة JSP تصف كل شيء يحدث عند إزالة صفحة JSP من المحلل.
jspDestroy() الطريقة في JSP تساوي في servlet الطريقة التدمير. عند الحاجة إلى تنفيذ أي مهام تنظيف، يمكنك إعادة كتابة jspDestroy() الطريقة، مثل إطلاق اتصال قاعدة البيانات أو إغلاق المجلدات، إلخ.
jspDestroy() الطريقة تتكون من:
public void jspDestroy() { // كود تنظيف }
JSP الحياة الحيوية كود مثال يظهر أدناه:
<%@ page language="java" contentType="text/html; charset=UTF-8" %> pageEncoding="UTF-8"%> <html> <head> <title>life.jsp</title> </head> <body> <%! private int initVar=0; private int serviceVar=0; private int destroyVar=0; %> <%! public void jspInit(){ initVar++; System.out.println("jspInit(): JSP قد تم إنشاؤها "+initVar+ } public void jspDestroy(){ destroyVar++; System.out.println("jspDestroy(): JSP قد تم تدميرها "+destroyVar+" مرة"); } %> <% serviceVar++; System.out.println("_jspService(): JSP قد استجابت "+serviceVar+" مرة للطلبات"); String content1="عدد التأسيس : "+initVar; String content2="عدد الاستجابات للطلبات العملاء : "+serviceVar; String content3="عدد التدمير : "+destroyVar; %> <h1>تعليميات الأساس(oldtoolbag.com) JSP مثال إختباري</h1> <p><%=content1 %></p> <p><%=content2 %></p> <p><%=content3 %></p> </body> </html>
فتح الصفحة بواسطة المتصفح، الناتج هو: