دورة حياة سيرفليت

تتم إدارة دورة حياة servlet بواسطة حاوية servlet. يمكن تلخيص دورة الحياة في 5 مراحل:
  1. تحميل فئة Servlet
  2. إنشاء مثيل Servlet
  3. طريقة الاتصال init()
  4. استدعاء الطريقة service()
  5. استدعاء الطريقة تدمير () < / span >< / li>< / ol> يتم تنفيذ الخطوات 1 و 2 و 3 مرة واحدة فقط ، عند تحميل servlet. بشكل افتراضي ، لا يتم تحميل servlet حتى يتم استلام الطلب الأول. يمكنك إجبار حاوية servlet على تحميل serlvet عند تشغيلها.
    يتم تنفيذ الخطوة 4 عدة مرات في كل مرة  طلب  يتم تنفيذ HTTP.
    الخطوة 5 عندما تدمر حاوية servlet servlet.

    هذه خوارزمية تمثل دورة حياة servlet:

    < / div >< div class = "فاصل" النمط = "واضح: كلاهما ؛ محاذاة النص: الوسط؛" >دورة حياة servlet< / a>< / div>
    يتم شرح الخطوات بالتفصيل أدناه:

    قم بتحميل فئة Servlet< / h2>أولا ، لكي يتم استدعاء servlet ، يجب أن تقوم حاوية servlet بتحميل فئة Servlet. يتم ذلك مثل أي فئة أخرى.

    إنشاء مثيل Servlet

    الآن بعد أن تم تحميل الفئة ، تقوم الحاوية بإنشاء مثيل servlet جديد. عادة ما يتم إنشاء مثيل واحد فقط و طلب  تتم معالجتها في نفس مثيل servlet. إنه في حاوية servlet لاتخاذ قرار ولكن ، بشكل عام ، هناك مثيل واحد فقط.

    call init () < / h2 method>الطريقة init() ليتم استدعاؤه مرة واحدة فقط. عند إنشاء المثيل ، فإن init () < / span> يسمى. . يسمح ل servlet بالتهيئة قبل معالجة الطلب الأول. يمكنك تحديد معلمات تهيئة servlet في web.xml.

    تبدو طريقة init() كما يلي:

    public void init() يلقي ServletException {
    // تهيئة ...
    }

    Call service()

    لكل طلب يتم استلامه، يقوم الخادم بإنشاء مؤشر ترابط جديد وتنفيذ methodالخدمة () < / الامتداد>. الطريقة service() من نوع طلب HTTP (GET، POST، PUT، DELETE، إلخ) ويستدعي الطرق المقابلة doGet، doPost، doPut، doDelete، إلخ. طالما ظل servlet نشطا ، فإن الطريقة service() مرة أخرى. لذلك ، قد تكون هذه الخطوة هي أطول خطوة في دورة حياة servlet نظرا لأنها تعمل عدة مرات.

    إليك إعلان هذه الطريقة:

     خدمة الفراغ العام (طلب ServletRequest ، 
    استجابة ServletResponse)
    يلقي ServletException ، IOException{
    }
    The methods doGet () < / span > و doPost () < / span> بشكل متكرر في كل مرة يصلون فيها. طلب. هنا هو البيان  من كلتا الطريقتين.

    < span style = "حجم الخط: كبير ؛" >طريقة doGet()

    يتم إنشاء طلب GET في عنوان URL أو في نموذج HTML ليس له طريقة محددة ويجب معالجته بواسطة doGet().

    public void doGet(HttpServletRequest request,
    HttpServletResponse response)
    يلقي ServletException ، IOException {
    // code
    }

    < span style = "حجم الخط: كبير ؛" >طريقة doPost () < / span >< / h3 >
    La  < نمط الامتداد = "ارتفاع الخط: عادي ؛ محاذاة النص: ابدأ ؛" >استعلام  يتم إنشاء < / span> POST في نموذج HTML ويجب معالجته بواسطة طريقة doPost().

    public void doPost(HttpServletRequest request,
    HttpServletResponse response)
    يلقي ServletException وIOException {
    // رمز Servlet
    }

    Call destroy()

    طريقة < span style = "عائلة الخط: ساعي جديد ، ساعي ، ميني فان ؛" يتم استدعاء >تدمير () < / span> مرة واحدة فقط في نهاية دورة حياة servlet. تتيح لك هذه الطريقة إغلاق الاتصال وإيقاف سلاسل الرسائل وحفظ قوائم ملفات تعريف الارتباط.
    After destory () < / span> يسمى ، يتم تدمير كائن servlet. الطريقة destory () < / span> يبدو كما يلي:

    < / div>
     public void destroy () {
    // رمز الإنهاء ...
    }
    < / pre>< / div>