أسئلة مقابلة JSP (2026)

أسئلة مقابلة JSP للمبتدئين
1) شرح JSP وتعريف استخداماته.
يعنيJSP Java صفحات الخادم. إنها تقنية طبقة العرض التقديمي المستقلة عن النظام الأساسي. لأنه يأتي مع منصات SUN's J2EE. إنها مثل صفحات HTML ولكن مع Java قطع التعليمات البرمجية المضمنة فيها. يتم حفظها بامتداد .jsp. يتم تجميعها باستخدام برنامج التحويل البرمجي JSP في الخلفية وإنشاء Servlet من الصفحة.
👉 تنزيل مجاني بصيغة PDF: أسئلة وأجوبة مقابلة JSP
2) ما هي متطلبات مكتبة العلامات؟
تسمى مجموعة العلامات المخصصة مكتبة العلامات. يتم التعامل مع المهام المتكررة بسهولة أكبر وإعادة استخدامها عبر تطبيقات متعددة لزيادة الإنتاجية. يتم استخدامها من قبل مصممي تطبيقات الويب الذين يركزون على العرض التقديمي بدلاً من الوصول إلى قاعدة البيانات أو الخدمات الأخرى. بعض المكتبات الشائعة هي مكتبة علامات السلسلة ومكتبة علامات عرض Apache.
3) شرح تقنية JSP.
JSP هو امتداد قياسي ل Java ويتم تعريفه أعلى امتدادات Servlet. هدفها هو تبسيط الإدارة وإنشاء صفحات الويب الديناميكية. إنها منصة مستقلة وآمنة وتستفيد منها Java كلغة برمجة نصية من جانب الخادم.
4) شرح الكائنات الضمنية في JSP.
يتم استدعاء الكائنات التي تم إنشاؤها بواسطة حاوية الويب وتحتوي على معلومات تتعلق بطلب أو تطبيق أو صفحة معينة كائنات ضمنية. هم :
- استجابة
- استثناء
- استمارتنا
- طلب
- الجلسة
- صفحة
- خارج
- التكوين
- pageContext

5) كيف يمكن منع عمليات الإرسال المتعددة بسبب نقرات زر التحديث؟
باستخدام نمط النشر/إعادة التوجيه/الحصول على أو نمط PRG، يمكن حل هذه المشكلة.
1) يتم إرسال النموذج الذي ملأه المستخدم إلى الخادم باستخدام طريقة POST أو GET. يتم تحديث الحالة في قاعدة البيانات ونموذج الأعمال.
2) يتم استخدام استجابة إعادة التوجيه للرد بواسطة servlet لصفحة العرض.
3) يتم تحميل العرض بواسطة المتصفح باستخدام أمر GET ولا يتم إرسال أي بيانات للمستخدم. هذا آمن من عمليات الإرسال المتعددة لأنها صفحة JSP منفصلة.
6) هل تكنولوجيا JSP قابلة للتوسيع؟
نعم، يمكن توسيع JSP بسهولة عن طريق استخدام وتعديل العلامات، أو الإجراءات المخصصة، المغلفة في مكتبات العلامات.
7) التفريق بين Response.sendRedirect(url) و .
<jsp.forward> يقوم العنصر بإعادة توجيه كائن الطلب من ملف JSP واحد إلى ملف آخر. Target يمكن أن يكون الملف HTML أو servlet أو ملف JSP آخر، ولكن يجب أن يكون في نفس سياق التطبيق مثل إعادة توجيه ملف JSP.
يرسل sendRedirect استجابة إعادة توجيه مؤقتة لـ HTTP إلى المتصفح. يقوم المتصفح بعد ذلك بإنشاء طلب جديد للصفحة المعاد توجيهها. يقتل متغيرات الجلسة.
8) هل يمكن الوصول إلى طلب لاحق باستخدام كود servlet الخاص به، إذا تم إرسال سمة الطلب بالفعل في JSP الخاص به؟
الطلب خارج النطاق، وبالتالي لا يمكن الوصول إليه. ومع ذلك، إذا تم تعيين سمة طلب في servlet لشخص ما، فيمكن الوصول إليها في JSP الخاص به.
يعد JSP مكونًا من جانب الخادم ويتم ترجمة الصفحة إلى ملف Java servlet، ومن ثم تنفيذه. يتم إعطاء كود HTML فقط كإخراج.
9) كيفية تضمين الملفات الثابتة في صفحة JSP؟
يتم تضمين الصفحات الثابتة دائمًا باستخدام توجيه تضمين JSP. بهذه الطريقة، يتم التضمين مرة واحدة فقط في مرحلة الترجمة. لاحظ أن المسار النسبي URL يجب توفيرها لخاصية الملف. على الرغم من إمكانية تضمين الموارد الثابتة، إلا أن ذلك غير مفضل لأن كل طلب يتطلب تضمينها.
10) لماذا يمتلك JComponent أساليب add() وremove() ولكن Component لا يمتلك ذلك؟
JComponent هي فئة فرعية من الحاوية. أنه يحتوي على مكونات أخرى وJComponents.
أسئلة مقابلة JSP للمحترفين ذوي الخبرة
فيما يلي أسئلة وأجوبة مقابلة JSP للمرشحين ذوي الخبرة:
11) كيف يمكن تنفيذ صفحة JSP الآمنة؟
ويمكن القيام بذلك عن طريق تنفيذها بواسطة واجهة SingleThreadModel. قم بإضافة توجيه <%@page isThreadSafe=”false” %> في صفحة JSP.
12) كيف يمكن منع التخزين المؤقت لمخرجات صفحة JSP أو servlet بواسطة المتصفح؟
استخدام سمات رأس HTTP المناسبة لمنع إخراج المحتوى الديناميكي بواسطة صفحة JSP من التخزين المؤقت بواسطة المتصفح.
13) كيف يتم تقييد عرض أخطاء الصفحة في صفحة JSP؟
من خلال إعداد سمة "ErrorPage" لدليل PAGE إلى اسم صفحة الخطأ في صفحة JSP، ثم في صفحة خطأ jsp قم بتعيين "isErrorpage="TRUE"، يمكن إيقاف عرض الأخطاء.
14) ما هي إجراءات JSP؟
إنها علامات XML، والتي توجه الخادم لاستخدام المكونات الموجودة أو التحكم في سلوك محرك JSP. وهي تتكون من بادئة نموذجية لـ "jsp:" واسم الإجراء.
<jsp:include/> <jsp:getProperty/> <jsp:forward/> <jsp:setProperty/> <jsp:usebean/> <jsp:plugin/>
15) التفريق بين و<%@تضمين الملف=…>.
تتضمن كلتا العلامتين معلومات من صفحة إلى أخرى.
تعمل العلامة الأولى بمثابة استدعاء دالة بين اثنين من Jsp. يتم تنفيذه في كل مرة يتم فيها الوصول إلى صفحة العميل من قبل العميل. من المفيد تقسيم تطبيق الويب. يتم تضمين محتوى جديد في الإخراج.
يتم تضمين محتوى العلامة الثانية للملف نصيًا مع توجيه مماثل. لا يتم تضمين المحتوى الذي تم تغييره في الإخراج. يكون ذلك مفيدًا عندما تكون هناك حاجة إلى تعليمات برمجية من ملف jsp واحد بواسطة العديد من ملفات jsp.
16) هل يمكن استخدام المُنشئ بدلاً من init() لتهيئة servlet؟
نعم، فمن الممكن. لكن هذا غير مفضل لأن init() تم تطويره في وقت سابق Java لا يمكن للإصدارات استدعاء المنشئات باستخدام الوسائط ديناميكيًا. لذلك لم يتمكنوا من تعيين servletConfig. ومع ذلك، لا تزال حاويات servlet اليوم تستدعي مُنشئ no-arg فقط. لذلك لا يمكن الوصول إلى servletContext أو servletConfig.
17) شرح أساليب دورة الحياة.
1) jsplnit(): تستدعي الحاوية هذا لتهيئة مثيل servlet. يتم استدعاؤه مرة واحدة فقط لمثيل servlet ويسبق كل الطرق الأخرى.
2) _jspService(): تستدعي الحاوية هذا لكل طلب وتمرره إلى الكائنات.
3) تدمير jsp(): يتم استدعاؤه بواسطة الحاوية قبل تدمير المثيل مباشرةً.
18) اشرح تعليقات مخرجات JSP؟
إنها تعليقات يمكن عرضها في ملف مصدر HTML.
19) تعريف التعبير
يتم استخدام علامة التعبير للإدراج Java القيم مباشرة في الإخراج. بناء الجملة الخاص به هو
<%=expression%>
يحتوي على تعبير لغة برمجة يتم تقييمه، ثم تحويله إلى سلسلة، ثم إدراجه حيث يأتي التعبير في ملف JSP.
20) تعريف التكوين.
إن التركيب له علاقة أقوى بالموضوع من التجميع.
21) تعريف البرنامج النصي JSP.
إنها علامة JSP المرفقة Java الكود في صفحات JSP. صيغتها هي <% %>. Code يتم تنفيذ الكود المكتوب بلغة البرمجة النصية في كل مرة يتم فيها تشغيل البرنامج.
22) كيف يمكن نقل المعلومات من أحد برامج JSP إلى برنامج JSP آخر؟
الوسم يسمح لنا بتمرير المعلومات بين ملفات Jsp المتعددة.
23) شرح استخدامات بطاقة شعار.
<jsp:useBean> id="beanInstName" scope= "page | application" class="ABC.class" type="ABC.class" </jsp:useBean>
يقوم هذا الوسم بإنشاء مثيل لـ Java Bean. يحاول أولاً معرفة ما إذا كان مثيل Bean موجودًا بالفعل ويقوم بتعيين مخازن مرجعية في المتغير. يتم أيضًا تحديد النوع؛ وإلا فإنه يقوم بإنشاء مثيل من الفئة المحددة لتخزين مرجع في المتغير الجديد.
24) شرح التعامل مع استثناءات وقت التشغيل.
يتم استخدام سمة Errorpage لإلغاء اكتشاف استثناءات وقت التشغيل التي يتم إعادة توجيهها تلقائيًا إلى صفحة معالجة الأخطاء.
يقوم بإعادة توجيه المتصفح إلى صفحة JSP error.jsp في حالة ظهور أي استثناء لم يتم اكتشافه أثناء معالجة الطلب. إنها صفحة معالجة الأخطاء.
25) لماذا تبدأ _jspService() بـ "_" لكن طرق دورة الحياة الأخرى لا تبدأ؟
أيًا كان المحتوى الذي تم إنشاؤه في صفحة jsp، فسيتم إدخاله داخل طريقة _jspService() بواسطة الحاوية. إذا تم التجاوز، فسيعطي المترجم خطأ، ولكن يمكن تجاوز دورتي الحياة الأخريين بسهولة. لذا يُظهر "_" أنه لا يمكننا تجاوز هذه الطريقة.
26) شرح قيم النطاق المختلفة بطاقة شعار.
يتم استخدام العلامة لاستخدام أي كائن Java في صفحة jsp. بعض قيم النطاق هي:
1) التطبيق
2) الطلب
3) الصفحة
4) الجلسة
27) عرض نوعين من التعليقات في JSP.
النوعان هما :
<%–JSP Comment–%> <!–HTML comment–>
28) هل يمكن تجاوز الطريقة الثابتة؟
يمكننا أن نعلن عن أساليب ثابتة بنفس التوقيع في فئة فرعية، ولكن لا يعتبر ذلك مهيمنًا لأنه لن يكون هناك أي تعدد أشكال في وقت التشغيل. وبالتالي فإن الجواب هو "لا".
29) شرح توجيهات JSP.
توجيهات JSP هي رسائل إلى محرك JSP. إنها بمثابة رسالة من صفحة إلى حاوية وتتحكم في معالجة الصفحة بأكملها. يمكنهم تعيين قيم عالمية مثل إعلان الفصل. وهي لا تنتج مخرجات وهي محاطة بـ <%@....%>
30) شرح توجيهات الصفحة.
تُعلم توجيهات الصفحة محرك JSP بالترويسات والمرافق التي تتلقاها الصفحة من البيئة. إنه موجود في أعلى جميع صفحات JSP. بناء الجملة الخاص به هو <%@ page attribute=”value”>
31) إظهار سمات توجيهات الصفحة.
- جلسة: يوضح ما إذا كانت بيانات الجلسة متاحة للصفحة.
- استيراد: يعرض الحزم التي تم استيرادها.
- تم تجاهله: يوضح ما إذا كان يتم تجاهل تعبيرات EL عندما يترجم JSP إلى ملف بريمج.
- نوع المحتوى: يسمح للمستخدم بتحديد نوع محتوى الصفحة.
32) ما هو تضمين التوجيه؟
يقوم توجيه التضمين بإدراج محتويات المورد بشكل ثابت في JSP الحالي. يساعد في إعادة استخدام التعليمات البرمجية دون الازدواجية. ويتضمن محتويات الملف في وقت الترجمة. بناء الجملة الخاص به هو كما يلي <%@ include file=”Filename”%>.
33) ما هي الإجراءات القياسية في JSP؟
إنها تؤثر على سلوك وقت التشغيل العام للصفحة والاستجابة المرسلة إلى العميل. يتم استخدامها لتضمين ملف في وقت الطلب، لإنشاء مثيل Javaفول أو ابحث عن واحد. ويتم استخدامها أيضًا لإنشاء رمز خاص بالمتصفح أو إعادة توجيه طلب إلى صفحة جديدة.
34) شرح الإجراء jsp:setProperty.
يتم استخدامه لإعطاء قيم لخصائص الحبوب التي تم الرجوع إليها مسبقًا.
…
<jsp:setProperty name=”ABC” property=”myProperty”…
يتم تنفيذ jsp:setproperty حتى لو تم إنشاء مثيل لفاصوليا جديدة أو تم العثور على حبة موجودة.
بإضافة في نهاية الكود، يتم عكس شرط التنفيذ، أي لا يتم تنفيذه إذا تم العثور على كائن موجود وفقط إذا تم إنشاء كائن جديد.
35) تعريف الكتلة الثابتة.
يتم استخدامه لبدء عضو البيانات الثابتة. يتم تنفيذه قبل تحميل الفصل.
36) شرح jsp:عمل البرنامج المساعد.
يساعد هذا الإجراء في إدراج كائن معين في المتصفح أو تضمين العنصر المطلوب لتحديد تشغيل التطبيق الصغير باستخدام Java البرنامج المساعد.
37) شرح التحقق من جانب العميل والخادم.
Javascript يتم استخدامه للتحقق من جانب العميل. يتم ذلك داخل المتصفح. Javascript يتم استخدامه لإرسال بيانات النموذج في حالة نجاح التحقق من الصحة. لا تتطلب أخطاء التحقق من الصحة أي رحلة إضافية عبر الشبكة لأنه لا يمكن إرسال النموذج.
ويتم التحقق من الصحة أيضًا في الخادم بعد الإرسال. إذا فشل التحقق من الصحة، يلزم إجراء رحلة إضافية عبر الشبكة لإعادة إرسال النموذج إلى العميل.
38) ما هي مرحلة الترجمة؟
يقوم محرك JSP بترجمة وتجميع ملف JSP إلى servlet. ينتقل هذا servlet إلى مرحلة التنفيذ حيث تتم معالجة الطلبات والاستجابات. يتم تجميعها لأول مرة يتم الوصول إليها ما لم يتم تجميعها يدويًا مسبقًا. يعد التجميع اليدوي أو الصريح مفيدًا للبرامج الطويلة والمعقدة.
39) إجراء إعادة توجيه المتصفح من صفحة JSP.
<% response.sendRedirect(URL); %>
أو يمكننا تغيير موقع سمة رأس HTTP على النحو التالي:
<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader(URL); %>
40) إعطاء استخدامات لاستنساخ الكائنات.
تُستخدم عملية استنساخ الكائنات لإنشاء نسخة طبق الأصل من كائن ما بواسطةping نفس الكود أو باستخدام تقنيات أخرى متنوعة.
41) كيفية إعادة توجيه الطلب إلى مصدر آخر.
<jsp:forward page="/Page2.jsp" />
42) كيف يمكن منع الإنشاء التلقائي للجلسة في صفحة JSP؟
تقوم صفحات JSP بإنشاء جلسات تلقائية للطلبات. بواسطة typing فيما يلي، يمكن تجنب ذلك.
<%@ page session=”false” %>
43) كيف يمكنك تجنب التعليمات البرمجية النصية في JSP؟
Javaيمكن استخدام الفاصوليا أو العلامات المخصصة بدلاً من التعليمات البرمجية النصية.
44) شرح طريقة jspDestroy().
كلما كانت صفحة JSP على وشك التدمير، تستدعي الحاوية طريقة jspDestroy() من واجهة javax.servlet.jsp.JspPage. طرق تدمير Servlets مشابهة لها. يمكن تجاوزها بسهولة لأداء التنظيف، كما هو الحال عند إغلاق اتصال قاعدة البيانات.
45) شرح فعل.
إنه إجراء يستخدم مع الإجراءات القياسية للتضمين أو إعادة التوجيه. فهو يساعد في تمرير أسماء المعلمات والقيم إلى المورد.
46) شرح الطريقة الساكنة.
الطريقة الثابتة هي من الفئة وليست كائنًا من الفئة. يمكن استدعاؤه بدون مثيل لفئة. يمكن للأعضاء الثابتين أيضًا الوصول إلى البيانات الثابتة وتغيير قيمتها.
47) كيفية تعطيل البرمجة النصية؟
يمكن تعطيل البرمجة النصية بسهولة عن طريق تعيين عنصر البرمجة النصية غير الصالح في واصف النشر على صحيح. وهو عنصر فرعي من مجموعة الممتلكات. ويمكن أن تكون كاذبة كذلك.
48) تعريف إعلان JSP.
إعلان JSP هي علامات تستخدم في إعلان المتغيرات. وهي محاطة بالعلامة <%!%>. يتم استخدامها في إعلان الوظائف والمتغيرات.
<%@page contentType=”text/html” %>
<html>
<body>
<%!
int a=0;
private int getCount(){
a++;
return a;
}%>
<p>Values of a are:</p>
<p><%=getCount()%></p>
</body>
</html>
49) كيف يمكن منع تخزين مخرجات HTML في ذاكرة التخزين المؤقت؟
<%
response.setHeader("Cache-Control", "no=store");
response.setDateHeader("Expires", 0);
%>
50) كيف يكون JSP أفضل من تقنية Servlet؟
JSP هي تقنية من جانب الخادم لتسهيل عملية إنشاء المحتوى. فهي تتمحور حول المستندات، في حين أن servlets عبارة عن برامج. أ Java يمكن أن تحتوي صفحة الخادم على أجزاء من Java برنامج، والتي يتم تنفيذها وإنشاء مثيل لها Java الطبقات. ومع ذلك، فإنها تحدث داخل ملف قالب HTML. يوفر إطارًا لتطوير تطبيق الويب.
ستساعد أسئلة المقابلة هذه أيضًا في حياتك (شفهي)
