تناقش المقالة الأولى البرمجة الموجهة للكائنات وميزاتها ، والأسئلة الشائعة حول Java وميزاتها ، وفئات جمع Java ، وجامعي القمامة ، ويناقش هذا الفصل بشكل أساسي معالجة الاستثناءات ، و Java Applets ، و Swing ، و JDBC ، ومكالمات الطريقة عن بعد (RMI) ، و Servlets ، و JSP.
معالجة الاستثناء
جافا applet (applet)
يتأرجح
JDBC
استدعاء الطريقة عن بُعد (RMI)
servlet
JSP
معالجة الاستثناء
43. ما هو نوع اثنين من الاستثناءات في جافا؟ ما هو الفرق بينهما؟
هناك نوعان من الاستثناءات في Java: استثناء تم التحقق منه واستثناء غير محدد. الاستثناء الذي لم يتم تفتيشه لا يحتاج إلى الإعلان عن الطريقة أو المُنشئ. حتى إذا كان تنفيذ الطريقة أو المنشئ قد يرمي مثل هذا الاستثناء ، ويمكن نشر الاستثناء الذي لم يتم فحصه خارج الطريقة أو المُنشئ. على العكس من ذلك ، يجب الإعلان عن الاستثناء الذي تم فحصه على الطريقة أو المُنشئ باستخدام عبارة THROWS. فيما يلي بعض النصائح للتعامل مع استثناءات Java.
44. ما هو الفرق بين الاستثناء والخطأ في جافا؟
الاستثناء والخطأ كلاهما فئات فرعية من رمي. يتم استخدام الاستثناء للاستثناءات التي يمكن أن يتم اكتشافها بواسطة برنامج المستخدم. يحدد الخطأ استثناءً لا يُتوقع أن يتم اكتشافه بواسطة برنامج المستخدم.
45. ما هو الفرق بين الرمي والرمي؟
يتم استخدام الكلمة الرئيسية الرمي لرمي الاستثناءات بشكل صريح في البرنامج. على العكس من ذلك ، يتم استخدام عبارة TROWS للإشارة إلى استثناءات بأن الطريقة لا يمكن التعامل معها. يجب أن تحدد كل طريقة الاستثناءات التي لا يمكن معالجتها ، وبالتالي يمكن أن يضمن المتصل بالطريقة أن يتم التعامل مع الاستثناءات المحتملة ، ويتم فصل استثناءات متعددة بواسطة الفواصل.
45. عند التعامل مع الاستثناءات ، ما هي أهمية كتل التعليمات البرمجية أخيرًا؟ (ملاحظة المترجم: رقم عنوان المؤلف خاطئ)
سواء تم طرح استثناء أم لا ، سيتم دائمًا تنفيذ كتلة الكود. حتى إذا لم يكن هناك بيان صيد وتم طرح استثناء ، فسيظل يتم تنفيذ كتلة الكود أخيرًا. أخيرًا ، أود أن أقول إن كتل التعليمات البرمجية أخيرًا تستخدم بشكل أساسي لتحرير الموارد ، مثل: I/O Confers ، اتصالات قاعدة البيانات.
46. ما هي التغييرات التي ستحدث لكائن الاستثناء بعد اكتمال معالجة الاستثناء؟
سيتم إعادة تدوير كائن الاستثناء خلال عملية جمع القمامة التالية.
47. ما هو الفرق بين كتلة الكود أخيرًا وطريقة اللمسات الأخيرة ()؟
سواء تم طرح استثناء أم لا ، سيتم تنفيذ كتلة الكود أخيرًا ، والتي تستخدم بشكل أساسي لتحرير الموارد التي يشغلها الطلب. طريقة النهائيات () هي طريقة محمية لفئة الكائن. يطلق عليه الجهاز الظاهري Java قبل جمع القمامة.
جافا applet (applet)
48. ما هو Applet؟
APPLET Java هو برنامج يمكن تضمينه في صفحة HTML ويمكن تنفيذه بواسطة متصفح عميل مع تمكين JAVA. يستخدم Applet بشكل أساسي لإنشاء تطبيقات ويب تفاعلية ديناميكية.
49. اشرح دورة حياة التطبيق
يمكن أن يختبر التطبيق الحالة التالية:
50. ما الذي يحدث عند تحميل التطبيق؟
أولاً ، قم بإنشاء مثيل لفئة التحكم في Applet ، ثم تهيئة التطبيق ، وابدأ في التشغيل أخيرًا.
51. ما هو الفرق بين تطبيقات Applet وتطبيقات Java العادية؟
Applet هو متصفح يدعم Java ، وتطبيقات Java هي برامج Java مستقلة يمكن أن تعمل خارج المتصفح. ومع ذلك ، فإنهم جميعا بحاجة إلى أجهزة Java الظاهرية.
علاوة على ذلك ، تتطلب تطبيقات Java وظيفة رئيسية مع توقيع طريقة محددة لبدء التنفيذ. لا تحتاج تطبيقات Java إلى مثل هذه الوظائف لبدء التنفيذ.
أخيرًا ، تستخدم تطبيقات Java بشكل عام سياسات أمان صارمة للغاية ، في حين تستخدم تطبيقات Java بشكل عام سياسات أمان فضفاضة نسبيًا.
52. ما هي قيود applet Java؟
بشكل رئيسي لأسباب أمنية ، يتم فرض القيود التالية على التطبيقات:
53. ما هو التطبيق غير الموثوق به؟
التطبيقات غير الموثوقة هي applets Java التي لا يمكنها الوصول إلى ملفات النظام المحلية أو تنفيذها. بشكل افتراضي ، جميع التطبيقات التي تم تنزيلها غير موثوق بها.
54. ما هو الفرق بين التطبيق الذي تم تحميله على الشبكة وتطبيق تم تحميله من نظام الملفات المحلي؟
عندما يتم تحميل تطبيق Applet من الشبكة ، يتم تحميل Applet بواسطة محمل فئة Applet ، والذي يقتصر على Applet Security Manager.
عندما يتم تحميل Applet من القرص المحلي للعميل ، يتم تحميل Applet بواسطة محمل نظام الملفات.
تتيح Applets المحملة من نظام الملفات القراءة ، والكتابة ، وتحميل مكتبات الفصل على جانب العميل ، وكذلك السماح بتنفيذ برامج أخرى ، لكن لا يمكنها تمرير التحقق من رمز Bytecode.
55. ما هو محمل فئة التطبيقات؟ ما نوع العمل الذي يفعله؟
عندما يتم تحميل التطبيق من الشبكة ، يتم تحميله بواسطة محمل فئة Applet. يحتوي Loader على التسلسل الهرمي لمساحة اسم Java الخاصة به. يضمن Loader Class أن فئات من نظام الملفات لها مساحة اسم فريدة من نوعها والفئات من موارد الشبكة لها مساحة اسم فريدة.
عندما يقوم المتصفح بتحميل التطبيق من خلال الشبكة ، يتم وضع فئة Applet في مساحة الاسم الخاصة المرتبطة بمصدر التطبيق. بعد ذلك ، يتم التحقق من الفئات التي تم تحميلها بواسطة تحميل الفئة بواسطة المدقق. سيقوم المدقق بالتحقق مما إذا كان تنسيق ملف الفصل يتوافق مع مواصفات لغة Java للتأكد من عدم وجود مكدس فائض أو تدفق. المعلمات التي تم تمريرها إلى تعليمات Bytecode صحيحة.
56. ما هو مدير أمان Applet؟ ما نوع العمل الذي يفعله؟
مدير أمان Applet هو آلية لفرض قيود على التطبيقات. يمكن أن يكون للمتصفح مدير أمن واحد فقط. يتم إنشاء مدير الأمن عند بدء التشغيل ولا يمكن استبداله أو توسيعه بعد ذلك.
يتأرجح
57. ما هو الفرق بين قائمة اختيار المنبثقة (الاختيار) وقائمة (قائمة)
يتم تقديم الاختيار في شكل مضغوط ويتطلب الانسحاب لرؤية جميع الخيارات. يمكن تحديد خيار واحد فقط في وقت واحد في الاختيار. يمكن أن تحتوي القائمة على عناصر متعددة مرئية في نفس الوقت ، ويدعم اختيار عنصر واحد أو أكثر.
58. ما هو مدير التخطيط؟
يتم استخدام مدير التخطيط لتنظيم المكونات في الحاويات.
59. ما هو الفرق بين شريط التمرير ولوحة التمرير (JScrollpane)؟
Scrollbar هو مكون ، وليس حاوية. و Scrollpane هي حاوية. Scrollpane يتعامل مع التمرير الأحداث بنفسه.
60. ما هي طرق التأرجح الآمنة؟
لا يوجد سوى 3 طرق آمنة مؤشرات الترابط: إعادة التقيد () ، إعادة التثبيت () ، وإلغاء ().
61. اسم ثلاثة مكونات تدعم إعادة رسم.
Canvas ، الإطار ، اللوحة ، ودعم Applet إعادة رسم.
62. ما هو القطع؟
اقتصاص عملية الرسم التي تقتصر على منطقة أو شكل معين.
63. ما هو الفرق بين Menuitem و CheckSmenuitem؟
ترث فئة CheckMenuitem من فئة Menuitem ، ويدعم خيارات القائمة التي يمكن تحديدها أو عدم تحديدها.
64. كيف يتم وضع العناصر في تخطيط الحافة (BorderLayout)؟
يتم ترتيب العناصر الموجودة في BorderLayout وفقًا للشرق والغرب والجنوب والشمال ووسط الحاوية.
65. كيف يتم وضع العناصر في تخطيط حزمة الشبكة (GridBaglayout)؟
يتم وضع العناصر في Gridbaglayout وفقا للشبكة. قد تشغل عناصر ذات أحجام مختلفة أكثر من صف واحد أو عمود من الشبكة. لذلك ، يمكن أن يكون لعدد الصفوف والأعمدة أحجام مختلفة.
66. ما هو الفرق بين النافذة والإطار؟
يرث فئة الإطار فئة النافذة ، والتي تحدد نافذة التطبيق الرئيسية التي يمكن أن تحتوي على شريط قائمة.
67. ما هي العلاقة بين القطع والتجديد؟
عندما يتم إعادة رسم النافذة بواسطة خيط إعادة رسم AWT ، فإنها تضع مساحة المحاصيل على منطقة النافذة التي تحتاج إلى إعادة رسمها.
68. ما هي العلاقة بين واجهة مستمع الحدث ومحول الحدث؟
تحدد واجهة مستمع الحدث الطرق التي يجب على معالج الأحداث تنفيذها لحدث معين. يوفر محول الحدث تطبيقًا افتراضيًا لواجهة مستمع الحدث.
69. كيف يتعامل مكون واجهة المستخدم الرسومية مع أحداثه الخاصة؟
يمكن لمكون واجهة المستخدم الرسومية التعامل مع أحداثه الخاصة طالما أنه ينفذ واجهة مستمع الحدث المقابلة ويتعين على نفسه كمستمع للحدث.
70. ما هي مزايا مدير تخطيط Java على أنظمة النوافذ التقليدية؟
تستخدم Java مدير التخطيط لوضع المكونات على جميع منصات النوافذ بطريقة متسقة. نظرًا لأن مديري التخطيط لا يرتبطون بالحجم المطلق وموضع المكونات ، فإنهم قادرون على التكيف مع الاختلافات بين منصات محددة عبر أنظمة النوافذ.
71. ما هو نمط التصميم الذي يستخدمه مكون جافا البديل؟
يستخدم مكون التأرجح في Java نمط تصميم MVC (عرض النموذج--موضح النموذج).
JDBC
72. ما هو JDBC؟
JDBC هي طبقة تجريد تتيح للمستخدمين الاختيار بين قواعد البيانات المختلفة. يتيح JDBC للمطورين كتابة تطبيقات قاعدة البيانات في Java دون الاهتمام بتفاصيل قاعدة البيانات الأساسية.
73. اشرح دور السائق (السائق) في JDBC.
يوفر برنامج تشغيل JDBC تنفيذ فئة واجهة JDBC API بواسطة مصنع معين. يجب أن يوفر برنامج التشغيل الفئات التالية من حزمة Java.sql: الاتصال ، البيان ، المعدة ، callablestatement ، resultset و Driver.
74. ما هي وظيفة class.forname ()؟
يتم استخدام هذه الطريقة لتحميل برامج التشغيل التي تنشئ اتصالات لقاعدة البيانات.
75. ما هي مزايا الإعداد على البيان؟
يتم تجميع المعدات المسبقة ، لذلك سيكون الأداء أفضل. في الوقت نفسه ، يمكن إعادة استخدام المعدة المعدلة لقيم معلمات الاستعلام المختلفة.
76. ما هي الطريقة المستخدمة لإعداد callablestatement؟
يتم استخدام callablesTatement لتنفيذ الإجراءات المخزنة. يتم تخزين الإجراءات المخزنة وتقديمها بواسطة قاعدة البيانات. يمكن أن يقبل الإجراء المخزن معلمات الإدخال أو نتائج الإرجاع. يتم تشجيع استخدام الإجراءات المخزنة بشكل كبير لأنه يوفر الأمن والمعيار. طريقة تحضير callablestateMent هي:
callablestament.preparecall () ؛
77. ماذا يعني تجمع اتصال قاعدة البيانات؟
يمكن أن يكون التفاعل مع قاعدة البيانات مثل فتح وإغلاق اتصال قاعدة البيانات مستهلكة للوقت ، خاصة عندما يزداد عدد العملاء ، فإنه يستهلك الكثير من الموارد وهو مكلف للغاية. يمكن إنشاء العديد من اتصالات قاعدة البيانات والحفاظ عليها في تجمع عند بدء تشغيل خادم التطبيق. يتم توفير طلب الاتصال من خلال الاتصال في التجمع. بعد استخدام الاتصال ، أعد الاتصال إلى التجمع لتلبية المزيد من الطلبات المستقبلية.
استدعاء الطريقة عن بُعد (RMI)
78. ما هو RMI؟
استدعاء طريقة Java Remote Method (Java RMI) هو نموذج مكافئ موجه للكائنات المقدمة من API Java لمكالمات الإجراءات عن بُعد (RPC). وهو يدعم النقل المباشر لكائنات Java المسلسل وجمع القمامة الموزعة. يمكن اعتبار استدعاء الطريقة عن بُعد خطوة لتنشيط طريقة على كائن تشغيل عن بُعد. RMI شفافة موضعيًا للمتصل ، لأن المتصل يشعر أن الطريقة يتم تنفيذها على كائن يعمل محليًا. ألقِ نظرة على بعض الاحتياطات الخاصة بـ RMI.
79. ما هي المبادئ الأساسية لعمارة RMI؟
تعتمد بنية RMI على مبدأ مهم للغاية لفصل تعريف السلوك والإدراك السلوكي. يسمح RMI بالرمز الذي يحدد فصل السلوك عن الكود الذي ينفذ السلوك ويعمل على JVMs مختلفة.
80. ما هي طبقات الهندسة المعمارية RMI؟
تنقسم بنية RMI إلى الطبقات التالية:
طبقة الكعب والهيكل العظمي: هذه الطبقة شفافة للمبرمجين. إنه مسؤول بشكل أساسي عن اعتراض طلبات مكالمات الطريقة الصادرة عن العميل ثم إعادة توجيه الطلب إلى خدمة RMI عن بُعد.
الطبقة المرجعية عن بُعد: يتم استخدام الطبقة الثانية من بنية RMI لحل مراجع العميل إلى الكائنات البعيدة من جانب الخادم. هذه الطبقة تخلق وتدير إشارات العميل إلى الكائنات البعيدة من جانب الخادم. الاتصال هو نقطة إلى نقطة.
طبقة النقل: هذه الطبقة مسؤولة عن توصيل اثنين من JVMs المشاركة في الخدمة. هذه الطبقة مبنية على اتصال TCP/IP بين الآلات على الشبكة. ويوفر خدمات الاتصال الأساسية ، وكذلك بعض سياسات اختراق جدار الحماية.
81. ما هو الدور الذي تلعبه الواجهة البعيدة (الواجهة البعيدة) في RMI؟
يتم استخدام الواجهات البعيدة لتحديد الطرق التي هي واجهات يمكن أن تسمى بواسطة الأجهزة الافتراضية غير المحلية. يجب أن تنفذ الكائنات البعيدة بشكل مباشر أو غير مباشر واجهات عن بعد. يجب أن يعلن الفئة التي تنفذ واجهة عن بعد الواجهة عن بُعد المنفذة ، وتحديد مُنشئ لكل كائن بعيد ، وتوفير التنفيذ لجميع طرق الواجهة عن بُعد.
82. ما هو الدور الذي تلعبه فئة java.rmi.naming؟
يتم استخدام فئة java.rmi.naming لتخزين والحصول على مراجع للكائنات البعيدة في سجل الكائن عن بُعد. كل طريقة من فئة التسمية تتلقى كائن سلسلة من تنسيق عنوان URL كمعلمة له.
83. ماذا يعني ربط RMI؟
الربط هو عملية ربط الكائنات عن بُعد أو تسجيل الأسماء بعد التسجيل من أجل الاستعلام وإيجاد الكائنات البعيدة. يمكن ربط الكائنات البعيدة بالأسماء باستخدام طريقة bind () أو rebind () لفئة التسمية.
84. ما هو الفرق بين طرق BIND () و Rebind () لفئة التسمية؟
تكون طريقة BIND () مسؤولة عن ربط الاسم المحدد للكائن البعيد ، وطريقة Rebind () هي المسؤولة عن إعادة ربط الاسم المحدد لكائن بعيد جديد. إذا كان هذا الاسم ملزمًا ، فسيتم استبدال الربط السابق.
85. ما هي الخطوات لتمكين برنامج RMI من التشغيل بشكل صحيح؟
لكي يتم تشغيل برنامج RMI بشكل صحيح ، يجب تضمين الخطوات التالية:
86. ما هو الدور الذي تلعبه كعب RMI؟
يلعب كعب كائن بعيد دور ممثل أو وكيل لكائن بعيد. يستدعي المتصل طريقة على الكعب المحلي ، وهو مسؤول عن تنفيذ الطريقة على الكائن البعيد. عندما يتم استدعاء طريقة الكعب ، سيتم مرور الخطوات التالية:
87. ما هي مجموعة القمامة الموزعة (DGC)؟ كيف تعمل؟
يسمى DGC مجموعة القمامة الموزعة. يستخدم RMI DGC لجمع القمامة التلقائي. نظرًا لأن RMI يحتوي على إشارات إلى الكائنات البعيدة عبر الأجهزة الافتراضية ، فإن جمع القمامة صعب. تستخدم DGC خوارزميات العد المرجعية لتوفير إدارة الذاكرة التلقائية للكائنات البعيدة.
88. ما هو الغرض من استخدام مدير أمان RMI (RMISCURITYMANAGER) في RMI؟
يستخدم RMISecurityManager رمزًا تم تنزيله لتوفير مدير أمان يمكن استخدامه بواسطة تطبيقات RMI. بدون مدير أمان ، لن يقوم Loader من RMI بتنزيل أي فصول من عن بعد.
89. شرح حشد و demarshalling.
عندما يرغب التطبيق في تمرير كائنات الذاكرة عبر الشبكة إلى مضيف آخر أو مستمر للتخزين ، يجب عليه تحويل تمثيل الكائن في الذاكرة إلى تنسيق مناسب. وتسمى هذه العملية الحميدة ، وإلا فهي demarshalling.
90. اشرح التسلسل والخروج.
يوفر Java آلية تسمى التسلسل الكائن. إنه يمثل كائنًا كسلسلة من البايتات ، بما في ذلك بيانات الكائن ومعلومات نوع الكائن والبيانات داخل الكائن وما إلى ذلك. لذلك ، يمكن اعتبار التسلسل وسيلة لتسوية الكائن لتخزينه أو قراءته من القرص وإعادة بنائه. هجر التخلص من الخطوة المعاكسة لتحويل كائن من حالة مسطحة إلى كائن مباشر.
servlet
91. ما هو servlet؟
Servlet هي فئة Java تستخدم لمعالجة طلبات العميل وإنشاء محتوى ويب ديناميكي. تُستخدم Servlets بشكل أساسي لمعالجة أو تخزين البيانات المقدمة من نماذج HTML ، وإنشاء محتوى ديناميكي ، وإدارة معلومات الحالة ضمن بروتوكول HTTP عديمة الجنسية.
92. دعنا نتحدث عن بنية Servlet.
الواجهة الأساسية التي يجب على جميع servlets تنفيذها هي javax.servlet.servlet. يجب على كل servlet تنفيذ هذه الواجهة بشكل مباشر أو غير مباشر ، أو ترث javax.servlet.genericservlet أو javax.servlet.http.httpservlet. أخيرًا ، يمكن لـ Servlets تقديم طلبات متعددة بالتوازي باستخدام مؤشرات ترابط متعددة.
93. ما هو الفرق بين Applet و Servlet؟
Applet هو برنامج Java عميل يعمل على متصفح مضيف العميل. Servlet هو مكون من الخادم الذي يعمل على خادم الويب. يمكن أن تستخدم Applets فئات واجهة المستخدم ، بينما لا تحتوي Servlets على واجهات مستخدم. بدلاً من ذلك ، تنتظر Servlets طلب HTTP الخاص بالعميل ثم إنشاء استجابة للطلب.
94. ما هو الفرق بين Genericservlet و Httpservlet؟
Genericservlet هو servlet عام مستقل عن البروتوكول الذي ينفذ واجهات Servlet و ServletConfig. يجب على servlets الموروثة من Genericservlet تجاوز طريقة الخدمة (). أخيرًا ، من أجل تطوير servlet يمكن استخدامها على صفحة ويب لخدمة طلبات HTTP ، يجب أن يتم مورث Servlet الخاص بك من httpservlet. فيما يلي أمثلة من servlets.
95. اشرح دورة حياة servlet.
لكل طلب عميل ، يقوم محرك Servlet بتحميل Servlet ، ويطلق على طريقة init () ، ويكمل تهيئة Servlet. بعد ذلك ، يتعامل كائن Servlet مع جميع الطلبات اللاحقة من العميل عن طريق الاتصال بالطريقة Service () بشكل فردي لكل طلب. أخيرًا ، تسمى طريقة Servlet () (ملاحظة المترجم: يجب أن يكون هذا هو servlet بدلاً من الخادم) لحذف Servlet.
96. ما هو الفرق بين طريقة DOGET () وطريقة DOPOST ()؟
DOGE: تُلحق طريقة GET زوج قيمة الاسم بعد عنوان URL المطلوب. نظرًا لأن عنوان URL يحد من عدد الأحرف ، فإن عدد قيم المعلمات المستخدمة في طلب العميل محدود. وقيم المعلمة في الطلب مرئية ، لذلك لا يمكن تمرير المعلومات الحساسة بهذه الطريقة.
DOPOST: تتغلب طريقة POST على قيود طريقة GET عن طريق وضع قيمة معلمة الطلب في هيئة الطلب ، لذلك لا يوجد حد لعدد المعلمات التي يمكن إرسالها. أخيرًا ، المعلومات الحساسة التي تم تمريرها من خلال طلبات البريد غير مرئية للعملاء الخارجيين.
97. ما هو تطبيق الويب؟
تطبيقات الويب هي امتدادات ديناميكية على الويب أو خادم التطبيق. هناك نوعان من تطبيقات الويب: الموجهة نحو العرض التقديمي والموجه نحو الخدمة. تنتج تطبيقات الويب الموجهة نحو الأداء صفحات ويب تحتوي على تفاعلات تفاعلية في العديد من لغات الترميز والمحتوى الديناميكي كاستجابات للطلبات. تطبيقات الويب الموجهة نحو الخدمة تنفذ نقطة نهاية خدمة الويب. بشكل عام ، يمكن اعتبار تطبيق الويب مجموعة من servlets مثبتة ضمن مجموعة فرعية محددة من مساحة اسم عنوان URL للخادم.
98. ما الذي يتضمنه جانب الخادم؟
إدراج جانب الخادم (SSI) هو لغة برمجة برمجة بسيطة من جانب الخادم ، والتي يتم استخدامها في الغالب فقط على الويب وهي مضمنة فيها بعلامات Servlet. يتضمن السيناريو الأكثر استخدامًا في SSI ملفًا أو أكثر في صفحة ويب لخادم الويب. عندما يصل المتصفح إلى صفحة ويب ، سيحل خادم الويب استبدال علامة Servlet في صفحة الويب بالنص الذي تم إنشاؤه بواسطة Servlet المقابل.
99. ما هو servlet التسلسل؟
سلسلة servlet هي طريقة ترسل إخراج servlet إلى servlet آخر. يمكن إرسال إخراج servlet الثاني إلى servlet الثالث ، وهلم جرا. آخر servlet على السلسلة مسؤول عن إرسال الاستجابة إلى العميل.
100. كيف تعرف أي جهاز عميل يطلب servlet الخاص بك؟
يمكن لفئة ServletRequest معرفة عنوان IP أو اسم المضيف لجهاز العميل. طريقة getRemoteadDr () تحصل على عنوان IP لمضيف العميل ، يمكن لـ GetRemoteHost () الحصول على اسم المضيف. ألق نظرة على المثال هنا.
101. ما هي بنية استجابة HTTP؟
تتكون استجابة HTTP من ثلاثة أجزاء:
رمز الحالة: يصف حالة الاستجابة. يمكن استخدامها للتحقق مما إذا كان قد تم إكمال الطلب بنجاح. في حالة فشل الطلب ، يمكن استخدام رمز الحالة لمعرفة سبب الفشل. إذا لم ترجع Servlet رمز الحالة ، فسيتم إرجاع رمز الحالة الناجح httpservletResponse.sc_ok افتراضيًا.
رؤوس HTTP: أنها تحتوي على مزيد من المعلومات حول الاستجابة. على سبيل المثال: يمكن للرأس تحديد تاريخ انتهاء الصلاحية التي تعتبر الاستجابة انتهاء صلاحيتها ، أو تحديد تنسيق الترميز المستخدم لنقل محتوى الكيان إلى المستخدم بشكل آمن. كيفية استرداد رأس HTTP في Serlet انظر هنا.
الجسم: أنه يحتوي على محتوى الاستجابة. يمكن أن يحتوي على رمز HTML والصور وما إلى ذلك. يتكون الجسم من بايت بيانات يتم إرسالها مباشرة بعد الرأس في رسالة HTTP.
102. ما هي ملفات تعريف الارتباط؟ ما هو الفرق بين الجلسة وملفات تعريف الارتباط؟
ملف تعريف الارتباط هو قطعة من المعلومات التي يتم إرسالها إلى متصفح بواسطة خادم ويب. سيقوم المتصفح بتخزين ملفات تعريف الارتباط لكل خادم ويب في الملف المحلي. في المستقبل ، عندما يرسل المتصفح طلبًا إلى خادم ويب معين ، فسوف يرسل أيضًا جميع ملفات تعريف الارتباط المخزنة للخادم. ما يلي يسرد الفرق بين الجلسة وملفات تعريف الارتباط:
بغض النظر عن الإعدادات التي يقوم بها متصفح العميل ، يجب أن تعمل الجلسة بشكل طبيعي. يمكن للعميل اختيار تعطيل ملفات تعريف الارتباط ، لكن الجلسة لا تزال تعمل لأن العميل لا يمكنه تعطيل جلسة الخادم.
تختلف الجلسة وملفات تعريف الارتباط أيضًا من حيث كمية البيانات المخزنة. يمكن للجلسة تخزين أي كائن Java ، ويمكن لملف تعريف الارتباط تخزين كائنات نوع السلسلة فقط.
103. ما هو البروتوكول الذي يستخدمه المتصفح والخدمة للتواصل؟
يستخدم المستعرض والاتصالات Servlet بروتوكول HTTP.
104. ما هو نفق HTTP؟
HTTP Tunneling هي تقنية تستخدم HTTP أو HTTPS لتغليف بروتوكولات شبكة متعددة للتواصل. لذلك ، يلعب بروتوكول HTTP دور الغلاف الذي يفتح خطوط الأنابيب لبروتوكولات الشبكة للاتصال. الطلب الذي يغطي طلبات من البروتوكولات الأخرى في HTTP هو نفق HTTP.
105. ما هو الفرق بين الأساليب sendRedirect () والأمام ()؟
تنشئ طريقة sendRedirect () طلبًا جديدًا ، في حين أن طريقة Forward () توجيه الطلب ببساطة إلى هدف جديد. بعد إعادة التوجيه ، ستكون الكائنات في نطاق الطلب السابق غير صالحة لأنه سيتم إنشاء طلب جديد. بعد إعادة التوجيه ، ستظل الكائنات في نطاق الطلب السابق متاحًا. يُعتقد عمومًا أن sendRedirect () أبطأ من الأمام ().
106. ما هو ترميز عنوان URL وفك تشفير URL؟
يعد ترميز عنوان URL مسؤولاً عن استبدال المساحات والأحرف الخاصة الأخرى في عنوان URL بالتمثيل السداسي المقابل ، وإلا فإنه يتم فك تشفيره.
JSP
107. ما هي صفحة JSP؟
صفحة JSP هي مستند نصي يحتوي على نوعين من النص: بيانات ثابتة وعناصر JSP. يمكن تمثيل البيانات الثابتة في أي تنسيق مستند إلى النص ، مثل HTML أو XML. JSP هي تقنية تمزج محتوى ثابت وإنشاء ديناميكي. هنا مثال JSP.
108. كيف تتم معالجة طلبات JSP؟
يحتاج المتصفح أولاً إلى طلب صفحة تنتهي باستخدام ملحق .jsp ، وبدء طلب JSP ، ثم يقرأ خادم الويب الطلب ويحول صفحة JSP إلى فئة Servlet باستخدام برنامج التحويل البرمجي JSP. تجدر الإشارة إلى أنه سيتم تجميع ملف JSP فقط عندما تتغير صفحة الطلب الأولى أو ملف JSP ، ويقوم الخادم باستدعاء فئة Servlet لمعالجة طلب المتصفح. بمجرد اكتمال تنفيذ الطلب ، سيرسل Servlet الاستجابة إلى العميل. هنا نرى كيفية الحصول على معلمات الطلب في JSP.
109. ما هي مزايا JSP؟
مزايا استخدام JSP مدرجة أدناه:
110. ما هو توجيه JSP؟ ما هي أنواع التوجيهات المختلفة في JSP؟
التوجيه هو التعليمات التي يحتاجها محرك JSP إلى معالجتها عند تجميع صفحة JSP في servlet. يتم استخدام التوجيه لتعيين إرشادات على مستوى الصفحة ، وإدراج البيانات من الملفات الخارجية ، وتحديد مكتبة علامة مخصصة. يتم تعريف التوجيه بين <٪@ و ٪>. فيما يلي الأنواع المختلفة من التوجيهات:
قم بتضمين التوجيه: يستخدم لتضمين الملفات ودمج محتويات الملف في الصفحة الحالية.
توجيه الصفحة: يستخدم لتحديد خصائص محددة في صفحات JSP ، مثل صفحات الأخطاء والمخازن المؤقتة.
توجيه Taglib: يستخدم لإعلان مكتبة العلامات المخصصة المستخدمة في الصفحة.
111. ما هو عمل JSP؟
تتحكم إجراءات JSP في سلوك محرك Servlet مع بنية بناء الجملة XML. عند طلب صفحة JSP ، سيتم تنفيذ إجراء JSP. يمكن إدراجها ديناميكيًا في الملفات ، أو إعادة استخدام مكونات Javabean ، أو إعادة توجيه المستخدمين إلى صفحات أخرى ، أو تم إنشاؤها في رمز HTML للمكونات الإضافية Java. الإجراءات المتاحة مدرجة أدناه:
112. ما هي النصوص؟
في تقنية JSP ، تعد Scriptlets جزءًا من رمز Java مضمن في صفحة JSP. البرنامج النصي هو كل ما يقع داخل علامة. بين العلامة ، يمكن للمستخدم إضافة أي نصوص صالحة.
113. أين هو الإعلان (الشلالات)؟
يشبه الإعلان إلى حد كبير الإعلانات المتغيرة في Java ، ويستخدم لإعلان المتغيرات التي ستستخدمها التعبيرات أو السيناريو. يجب أن يتم لف العبارة المضافة بعلامات البدء والنهاية.
114. ما هو التعبير؟
[القائمة طويلة جدًا ويمكن نشرها في المستويات العلوية والمتوسطة والسفلية]]
تعبيرات JSP هي خادم الويب الذي يقوم بتحويل قيمة تعبير لغة البرنامج النصي إلى كائن سلسلة وإدخاله في دفق البيانات الذي يتم إرجاعه إلى العميل. يتم تعريف التعبير بين العلامة اثنين <٪ = و ٪>.
115. ماذا يعني كائن ضمني؟ ما هي الأشياء المخفية؟
الكائنات الضمنية JSP هي بعض كائنات Java في الصفحة ، وتتيح حاوية JSP استخدام كائنات Java هذه من قبل المطورين. يمكن للمطورين استخدامها مباشرة دون إعلانات واضحة. وتسمى JSP الكائنات الضمنية أيضا المتغيرات المحددة مسبقا. ما يلي يسرد الكائنات الضمنية في صفحة JSP:
ما سبق هو عبارة عن مجموعة من المعلومات الخاصة بأسئلة مقابلة Java. شكرا لك على دعمك لهذا الموقع!