0%
JavaServer Pages (JSP)

JSP

توليد HTML دون إغراق طبقة العرض بشيفرة Java.

15-20 دقيقة

JavaServer Pages (JSP)

خذ الـ servlet من الدرس السابق وتخيّل أنها مطالَبة بإنتاج صفحة كتالوج: ترويسة، وقائمة، وجدول من ثلاثين منتجًا، وترقيم للصفحات، وتذييل. إذا كُتبت باستخدام PrintWriter، فستحصل على ثلاثمئة سطر من out.println("<tr><td>") يجب فيها تهريب كل علامة اقتباس في HTML، ولا علاقة بين المسافات البادئة في الصفحة المولَّدة وتلك الموجودة في شيفرة Java، وعلى المُدمِج (integrator) الذي يريد تغيير لون واحد أن يعيد تصريف التطبيق.

من هذه الملاحظة وُلدت تقنية JSP: في صفحة الويب كمية كبيرة من HTML الثابت وقدر قليل من البيانات المتغيرة. وكتابة HTML انطلاقًا من Java تعكس هذه النسبة. أما JavaServer Pages — التي أُعيدت تسميتها Jakarta Pages منذ Jakarta EE 9 — فتقلب المشكلة: نكتب ملف HTML، ثم ندرج فيه علامات للأجزاء المتغيرة.

الآلية، التي يُساء فهمها كثيرًا، بسيطة: صفحة JSP هي servlet. عند أول استدعاء، يترجم الحاوية (container) ملف .jsp إلى شيفرة Java، ثم يصرّفها، ثم ينشئ منها كائنًا وينفّذها. أنت لا تكتب لغة قوالب مفسَّرة، بل تكتب مصدر servlet بصيغة أكثر ملاءمة.

يغطي هذا الدرس التوجيهات والإجراءات والكائنات الضمنية والنطاقات. ويشدّد قبل كل شيء على نقطة واحدة: صفحة JSP تستطيع احتواء شيفرة Java عشوائية، لكنها يجب ألا تفعل. إن فهم سبب وجود هذه الإمكانية وسبب وجوب الاستغناء عنها هو ما يفصل بين واجهة قابلة للصيانة وملف لا يجرؤ أحد على فتحه.

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!