يتطلب خادم الويب محرك JSP، وهو عبارة عن حاوية لمعالجة صفحات JSP. الحاوية مسؤولة عن اعتراض طلبات صفحات JSP. يستخدم هذا البرنامج التعليمي Apache مع حاوية JSP مدمجة لدعم تطوير JSP.
تتعاون حاوية JSP مع خادم الويب لتوفير بيئة التشغيل اللازمة والخدمات الأخرى للتشغيل العادي لـ JSP، ويمكنها تحديد العناصر الخاصة الفريدة لصفحات الويب JSP بشكل صحيح.
يوضح الشكل التالي موقع حاوية JSP وملفات JSP في تطبيق الويب.
توضح الخطوات التالية كيف يستخدم خادم الويب JSP لإنشاء صفحة ويب:
تمامًا مثل أي صفحة ويب عادية أخرى، يرسل متصفحك طلب HTTP إلى الخادم.
يتعرف خادم الويب على أن هذا طلب لصفحة ويب JSP ويمرر الطلب إلى محرك JSP. ويتم ذلك باستخدام عنوان URL أو ملف .jsp.
يقوم محرك JSP بتحميل ملفات JSP من القرص وتحويلها إلى servlets. يقوم هذا التحويل ببساطة بتحويل كل نص القالب إلى عبارات println() وتحويل كافة عناصر JSP إلى كود Java.
يقوم محرك JSP بتجميع servlet في فئة قابلة للتنفيذ ويمرر الطلب الأصلي إلى محرك servlet.
سوف يقوم أحد مكونات خادم الويب باستدعاء محرك servlet، ثم يقوم بتحميل فئة servlet وتنفيذها. أثناء التنفيذ، يقوم servlet بإنشاء مخرجات بتنسيق HTML ويقوم بتضمينها في استجابة HTTP وإرسالها إلى خادم الويب.
يقوم خادم الويب بإرجاع استجابة HTTP إلى متصفحك في شكل صفحة ويب HTML ثابتة.
في النهاية، تقوم متصفحات الويب بمعالجة صفحات HTML التي تم إنشاؤها ديناميكيًا في استجابة HTTP كما لو كانت صفحات ويب ثابتة.
ويمكن تمثيل الخطوات المذكورة أعلاه من خلال الشكل التالي:
في الظروف العادية، سيتحقق محرك JSP مما إذا كان servlet المطابق لملف JSP موجودًا بالفعل، ويتحقق مما إذا كان تاريخ تعديل ملف JSP أقدم من servlet. إذا كان تاريخ تعديل ملف JSP أقدم من servlet المقابل، فيمكن للحاوية التأكد من أن ملف JSP لم يتم تعديله وأن servlet صالح. وهذا يجعل العملية برمتها أكثر كفاءة وأسرع من لغات البرمجة النصية الأخرى (مثل PHP).
بشكل عام، تعد صفحات الويب JSP طريقة أخرى لكتابة servlets دون أن تصبح خبيرًا في برمجة Java. باستثناء مرحلة التفسير، يمكن التعامل مع صفحة ويب JSP كخادم عادي تقريبًا.