كائنات JSP الضمنية هي كائنات Java توفرها حاوية JSP لكل صفحة. يمكن للمطورين استخدامها مباشرة دون إعلان صريح. تُعرف كائنات JSP الضمنية أيضًا بالمتغيرات المحددة مسبقًا.
تسعة كائنات ضمنية يدعمها JSP:
هدف | يصف |
---|---|
طلب | مثيل لفئة HttpServletRequest |
إجابة | مثيل فئة HttpServletResponse |
خارج | مثيل لفئة PrintWriter ، المستخدمة لإخراج النتائج إلى صفحة ويب |
حصة | مثيل فئة HttpSession |
طلب | مثيل لفئة ServletContext ، المتعلقة بسياق التطبيق |
التكوين | مثيل لفئة ServletConfig |
pageContext | مثيل لفئة PageContext ، مما يوفر الوصول إلى كافة الكائنات ومساحات الأسماء الخاصة بصفحة JSP |
صفحة | مشابهة لهذه الكلمة الأساسية في فئات Java |
استثناء | يمثل كائن فئة الاستثناء كائن الاستثناء المقابل في صفحة JSP حيث حدث الخطأ. |
كائن الطلب هو مثيل للفئة javax.servlet.http.HttpServletRequest. عندما يطلب العميل صفحة JSP، يقوم محرك JSP بإنشاء كائن طلب جديد لتمثيل الطلب.
يوفر كائن الطلب سلسلة من الأساليب للحصول على معلومات رأس HTTP وملفات تعريف الارتباط وطرق HTTP وما إلى ذلك.
كائن الاستجابة هو مثيل للفئة javax.servlet.http.HttpServletResponse. عندما يقوم الخادم بإنشاء كائن الطلب، فإنه يقوم أيضًا بإنشاء كائن استجابة للرد على العميل.
يحدد كائن الاستجابة أيضًا الواجهة لمعالجة وحدات رأس HTTP. من خلال هذا الكائن، يمكن للمطورين إضافة ملفات تعريف الارتباط الجديدة والطوابع الزمنية ورموز حالة HTTP وما إلى ذلك.
الكائن الصادر هو مثيل للفئة javax.servlet.jsp.JspWriter ويستخدم لكتابة المحتوى في كائن الاستجابة.
ينفذ كائن فئة JspWriter الأولي عمليات إنشاء مختلفة اعتمادًا على ما إذا كانت الصفحة مخزنة مؤقتًا أم لا. يمكن إيقاف تشغيل التخزين المؤقت بسهولة باستخدام السمة buffered='false' في توجيه الصفحة.
تحتوي فئة JspWriter على معظم الأساليب الموجودة في فئة java.io.PrintWriter. ومع ذلك، أضاف JspWriter بعض الأساليب الجديدة المصممة خصيصًا للتعامل مع التخزين المؤقت. أيضًا، ستطرح فئة JspWriter استثناءات IOExceptions، لكن لن تقوم بذلك PrintWriter.
يسرد الجدول التالي الطرق المهمة التي سنستخدمها لإخراج البيانات المنطقية وchar وint وdouble وString وobject وأنواع أخرى من البيانات:
طريقة | يصف |
---|---|
طباعة (نوع البيانات dt) | قيمة نوع الإخراج |
out.println (نوع البيانات dt) | قم بإخراج قيمة النوع ثم قم بلف السطر |
خارج.تدفق () | اغسل دفق الإخراج |
كائن الجلسة هو مثيل للفئة javax.servlet.http.HttpSession. له نفس سلوك كائن الجلسة في Java Servlets.
يتم استخدام كائن الجلسة لتتبع الجلسات بين طلبات العميل.
يقوم كائن التطبيق بتغليف كائن فئة ServletContext الخاصة بـ servlet مباشرةً وهو مثيل لفئة javax.servlet.ServletContext.
يمثل هذا الكائن صفحة JSP طوال دورة حياتها بأكملها. يتم إنشاء هذا الكائن عند تهيئة صفحة JSP ويتم إزالته عند استدعاء الأسلوب jspDestroy().
من خلال إضافة خصائص إلى التطبيق الخاص بك، يمكن الوصول إلى هذه الخصائص لجميع ملفات JSP التي تشكل تطبيق الويب الخاص بك.
كائن التكوين هو مثيل لفئة javax.servlet.ServletConfig، والذي يغلف مباشرة كائن فئة ServletConfig من servlet.
يسمح هذا الكائن للمطورين بالوصول إلى معلمات التهيئة لمحرك Servlet أو JSP، مثل مسارات الملفات، وما إلى ذلك.
فيما يلي كيفية استخدام كائن التكوين، وهو ليس مهمًا جدًا، لذا فهو غير شائع الاستخدام:
config.getServletName();يقوم بإرجاع اسم servlet الموجود في عنصر <servlet-name> لاحظ أنه تم تعريف عنصر <servlet-name> في ملف WEB-INFweb.xml.
كائن pageContext هو مثيل للفئة javax.servlet.jsp.PageContext ويستخدم لتمثيل صفحة JSP بأكملها.
يُستخدم هذا الكائن بشكل أساسي للوصول إلى معلومات الصفحة أثناء تصفية معظم تفاصيل التنفيذ.
يقوم هذا الكائن بتخزين المراجع إلى كائن الطلب وكائن الاستجابة. يمكن تصدير كائن التطبيق وكائن التكوين وكائن الجلسة وكائن الخروج عن طريق الوصول إلى خصائص هذا الكائن.
يحتوي كائن pageContext أيضًا على معلومات التعليمات التي تم تمريرها إلى صفحة JSP، بما في ذلك معلومات ذاكرة التخزين المؤقت وعنوان URL لصفحة الخطأ ونطاق الصفحة وما إلى ذلك.
تحدد فئة PageContext بعض الحقول، بما في ذلك PAGE_SCOPE وREQUEST_SCOPE وSESSION_SCOPE وAPPLICATION_SCOPE. كما أنه يوفر أكثر من 40 طريقة، نصفها يرث من فئة javax.servlet.jsp.JspContext.
إحدى الطرق المهمة هي RemoveArribute()، والتي تقبل معلمة واحدة أو معلمتين. على سبيل المثال، يقوم pageContext.removeArribute("attrName") بإزالة السمات ذات الصلة في أربعة نطاقات، ولكن الطريقة التالية تزيل السمات ذات الصلة في نطاق معين فقط:
pageContext.removeAttribute("attrName"، PAGE_SCOPE)؛هذا الكائن هو مرجع لمثيل الصفحة. يمكن اعتباره ممثلًا لصفحة JSP بأكملها.
كائن الصفحة مرادف لهذا الكائن.
يقوم كائن الاستثناء بتغليف معلومات الاستثناء التي تم طرحها من الصفحة السابقة. وغالبًا ما يتم استخدامه لإنشاء استجابات مناسبة لظروف الخطأ.