الفرق بين الدعامات والقوائم 2

الفرق بين الدعامات والقوائم 2
الفرق بين الدعامات والقوائم 2

فيديو: الفرق بين الدعامات والقوائم 2

فيديو: الفرق بين الدعامات والقوائم 2
فيديو: ما الفرق بين الذاكرة العشوائية «الرام» وذاكرة التخزين الداخلية؟ خلي عندك معلومه 2024, يوليو
Anonim

Struts vs Struts2

Struts (المعروف أيضًا باسم Apache Struts أو Struts 1) هو إطار عمل مفتوح المصدر عبر الأنظمة الأساسية مكتوب بلغة Java ، وهو مصمم لتطوير تطبيقات الويب Java EE. لقد كان أحد أطر تطبيق الويب الأولية لـ Java EE. ولكن بعد بضع سنوات ، وصل Struts2 (أو الإصدار 2 من Struts) ، وكان إطارًا لتطبيق الويب مختلفًا تمامًا ومحسنًا للغاية. وقد عالج القليل من القضايا التي كان يُنظر إليها على أنها أوجه قصور في النسخة الأولية. الآن ، يتم استخدام Struts2 بكثافة لتطوير تطبيقات Java EE في العالم.

ما هي الدعامات؟

إطار عمل Struts (Struts 1) كان أحد الأطر الأولية لتطبيق الويب لتطوير تطبيقات الويب Java EE.يشجع إطار عمل Struts على استخدام بنية MVC (Model-View-Controller). إنه امتداد لـ Java Servlet API. كريج مكلاناهان هو المبتكر الأصلي لـ Struts. في البداية كانت تعرف باسم Jakaratha Struts وتم الحفاظ عليها في إطار مشروع جاكرتا التابع لمؤسسة Apache Software Foundation. تم إصداره بموجب ترخيص Apache 2.0. يُطلق على إطار عمل Struts إطار عمل قائم على الطلب ، ويتكون من ثلاثة مكونات رئيسية: معالج الطلب ومعالج الاستجابة ومكتبة العلامات. يتم تعيين URI القياسي (معرف الموارد المنتظم) لمعالج الطلب. معالج الاستجابة مسؤول عن نقل التحكم. لإنشاء تطبيقات تفاعلية باستخدام النماذج ، يمكن استخدام الميزات التي توفرها مكتبة العلامات. تدعم الدعامات تطبيقات REST والتقنيات المختلفة مثل SOAP و AJAX وما إلى ذلك.

ما هو Struts2؟

إطار عمل Struts كان يُنظر إليه على أنه يحتوي على قيود معينة (بشكل أساسي عدم الفصل بين طبقة العرض وطبقة معالجة الطلب والنموذج) من قبل مطوري Java EE في ذلك الوقت ، وبالتالي بعد بضع سنوات وصل Struts2.في الواقع ، كان Struts2 مختلفًا تمامًا عن Struts. في الواقع ، لم يشتركوا حتى في نفس قاعدة الشفرة لأن Struts2 كان ببساطة نتيجة لإعادة تسمية إطار عمل WebWork 2.2 (أي مجتمعات WebWork و Struts التي عملت بشكل منفصل لبعض الوقت في النهاية تكاتفت معًا للتوصل إلى Struts2). إصداره الحالي المستقر هو الإصدار 2.2.3 ، والذي تم إصداره في مايو 2011.

ما هو الفرق بين Struts و Struts2؟

كانت إحدى المشكلات العديدة في إطار عمل Struts هي الحاجة إلى البرمجة لتجريد الفئات بدلاً من الواجهات. تم حل هذا من خلال إطار عمل Struts2. على سبيل المثال ، يتطلب إطار عمل Struts أن يتم تمديد فئات الإجراء من الفئات الأساسية المجردة ، لكن Struts2 Actions يمكن أن تقوم بتنفيذ واجهة تعامل Action. نظرًا للاختلافات في نموذج الترابط بين الإصدارين ، فإن مشكلات سلامة الخيط التي ظهرت في إطار عمل Struts فيما يتعلق بكائنات الإجراء لا تحدث في إطار عمل Struts2. السبب هو أنه يتم إنشاء مثيل لكائنات Struts2 Action لكل طلب ، بينما يحتوي Action in Struts framework على مثيل واحد فقط للتعامل مع جميع الطلبات الخاصة بهذا الإجراء.على عكس الإجراءات في إطار عمل Struts ، فإن إجراءات Struts2 لا تعتمد على Servlet API.

قابلية اختبار إطار عمل Struts2 أعلى نسبيًا من إطار عمل Struts. يمكنك اختبار إجراءات Struts2 باتباع الخطوات الثلاث ببساطة: إنشاء مثيل وتعيين الخصائص واستدعاء الطرق. يعد حصاد المدخلات أسهل في إطار عمل Struts2 حيث يتم استخدام خصائص الإجراء كخصائص إدخال ، دون الحاجة إلى الاحتفاظ بكائن إدخال ثانٍ. بصرف النظر عن دعم تكامل JSTL (الموجود في Struts) ، يمكن أن يستخدم إطار عمل Struts2 لغة OGNL (لغة ترميز الرسم البياني للكائنات) أكثر قوة وتعبيراً. لتحويل النوع ، استخدم Strut و Strut2 Commons-Beanutils و OGNL ، على التوالي. بسبب هذه التحسينات ، يعتبر إطار عمل Struts2 إطارًا ناضجًا للغاية ويحظى بشعبية كبيرة بين مبرمجي Java EE. من ناحية أخرى ، يعتبر إطار عمل Struts الآن قديمًا.

موصى به: