الكائنات الموجودة في صفحة JSP، بما في ذلك الكائنات التي أنشأها المستخدم (على سبيل المثال، كائنات JavaBean) وكائنات JSP الضمنية، لها سمة نطاق. يحدد النطاق في أي وقت وفي أي صفحة JSP يمكن الوصول إلى هذه الكائنات. على سبيل المثال، يمكن الوصول إلى كائن الجلسة على صفحات متعددة أثناء الجلسة. يمكن الوصول إلى كائن التطبيق طوال دورة حياة تطبيق الويب. في JSP، هناك 4 أنواع من النطاقات كما هو موضح أدناه.
· نطاق الصفحات
ترتبط الكائنات ذات نطاق الصفحة بالكائن javax.servlet.jsp.PageContext. لا يمكن الوصول إلى الكائنات الموجودة ضمن هذا النطاق إلا على الصفحة التي تم إنشاء الكائن فيها. يمكنك استدعاء طريقة getAttribute() للكائن الضمني pageContext للوصول إلى الكائنات باستخدام نوع النطاق هذا (يوفر كائن pageContext أيضًا طرق getAttribute للوصول إلى كائنات النطاق الأخرى. ينتمي كائن pageContext نفسه أيضًا إلى نطاق الصفحة. عند تنفيذ طريقة _jspService() لفئة Servlet، سيتم تجاهل المرجع إلى الكائن الذي ينتمي إلى نطاق الصفحة. يتم إنشاء الكائنات الموجودة في نطاق الصفحة في كل مرة يطلب فيها العميل صفحة JSP، ويتم حذفها بعد أن ترسل الصفحة استجابة إلى العميل أو يتم إعادة توجيه الطلب إلى موارد أخرى.
· نطاق الطلب
ترتبط الكائنات ذات نطاق الطلب بالكائن javax.servlet.ServletRequest. يمكنك استدعاء طريقة getAttribute() للكائن الضمني للطلب للوصول إلى الكائنات بهذا النوع من النطاق. يمكن الوصول إلى الكائنات الموجودة في هذا النطاق في الصفحة المعاد توجيهها عن طريق استدعاء الأسلوبward() أو الصفحة المضمنة عن طريق استدعاء الأسلوب include(). تجدر الإشارة إلى أنه نظرًا لاختلاف كائن الطلب لكل طلب عميل، يجب إعادة إنشاء الكائنات الموجودة في هذا النطاق وحذفها لكل طلب جديد.
· نطاق الجلسة
ترتبط الكائنات ذات نطاق الجلسة بكائن javax.servlet.http.HttpSession. يمكنك استدعاء طريقة getAttribute() للكائن الضمني للجلسة للوصول إلى الكائنات بهذا النوع من النطاق. تقوم حاوية JSP بإنشاء كائن HttpSession لكل جلسة، أثناء الجلسة، يمكن الوصول إلى الكائنات الموجودة في نطاق الجلسة.
· نطاق التطبيق
ترتبط الكائنات ذات نطاق التطبيق بـ javax.servlet.ServletContext. يمكنك استدعاء طريقة getAttribute() للكائن الضمني للتطبيق للوصول إلى الكائنات بهذا النوع من النطاق. أثناء تشغيل تطبيق الويب، يمكن لجميع الصفحات الوصول إلى الكائنات الموجودة في هذا النطاق.