English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

حياة حياة JSP

مفتاح فهم الوظيفة الأساسية لـ JSP هو فهم الحياة التي تتبعها.

حياة JSP هي عملية من إنشاء إلى تدمير، تشبه إلى حد كبير حياة servlet، ولكن يختلف حياة JSP بأنها تشمل أيضًا تمرير ملف JSP إلى servlet.

هذه هي بعض المراحل التي يمر بها حياة JSP:

  • مرحلة الترجمة:

    يتم ترجمة ملف المصدر servlet محرك servlet، ويتم إنشاء فئة servlet

  • مرحلة التدوير:

    تحميل فئة servlet التي تتطابق مع JSP، إنشاء مثالها، وتطبيق طريقة التدوير

  • مرحلة التنفيذ:

    تطبيق طريقة الخدمة للمثال الخاص بالservlet الذي يتطابق مع JSP

  • مرحلة التدمير:

    تطبيق طريقة التدمير للمثال الخاص بالservlet الذي يتطابق مع JSP، ثم تدمير مثال servlet

من الواضح أن أربع مراحل رئيسية في حياة JSP تشبه إلى حد كبير حياة servlet، ويقدم لنا الشكل التالي:

تمرير JSP

عندما يطلب المتصفح صفحة JSP، يقوم محرك JSP أولاً بالتحقق من ما إذا كان يجب تمرير هذا الملف. إذا لم يتم تمرير هذا الملف من قبل أو تم تغييره بعد التمرير الأخير، فإنه يتم تمرير ملف JSP هذا.

عملية التجميع تتكون من ثلاث خطوات:}

  • تحليل ملف JSP.

  • تحويل ملف JSP إلى servlet.

  • تجميع servlet.

تمهيد JSP

بعد تحميل ملف JSP من قبل المحلل، سيقوم المحلل بتشغيل طريقة jspInit() قبل تقديم أي خدمة للطلب. إذا كنت بحاجة إلى تنفيذ مهام تمهيدية مخصصة، يمكنك إعادة كتابة طريقة jspInit()، مثلما يظهر أدناه:

public void jspInit(){
  // كود التمهيد
}

عادةً، يتم التمهيد مرة واحدة فقط للبرنامج، servlet أيضًا. عادةً، يمكنك التمهيد قاعدة البيانات، فتح الملفات، وتوليد جداول البحث في طريقة jspInit().

تنفيذ JSP

هذه المرحلة تصف كل التفاعلات المتعلقة بالطلب في حياة JSP، حتى يتم تدميرها.

بعد إكمال صفحة JSP التمهيدية، سيدعو محرك JSP الطريقة _jspService().

_jspService() الطريقة تحتاج إلى Object HttpServletRequest وHttpServletResponse كأدواتها، مثلما يظهر أدناه:

void _jspService(HttpServletRequest request,
                 HttpServletResponse response)
{
   // كود معالجة الخادم
}

_jspService() الطريقة يتم استدعاؤها مرة واحدة في كل request ويكون مسؤولة عن توليد الرد الم相对应، وهي أيضًا مسؤولة عن توليد جميع 7 طرق HTTP، مثل GET،POST،DELETE،إلخ.

تنظيف JSP

مرحلة التدمير في حياة 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>

فتح الصفحة بواسطة المتصفح، الناتج هو: