دروس الدعامات 2 - الحل الشامل للمبتدئين

ستساعدك هذه المقالة حول دروس 2 Struts 2 في بدء استخدام إطار عمل Struts 2 لتطوير تطبيقات الويب J2EE جنبًا إلى جنب مع عرض الكود.

إذا كنت تبحث عن ملف يمكن أن يساعدك في تطوير تطبيقات الويب JEE بسرعة وكفاءة ، فإن Struts 2 هو الحل الأمثل لك. Struts 2 هو إطار عمل مفتوح المصدر يستخدم بكثرة في السوق. من خلال هذا البرنامج التعليمي Struts 2 ، سوف أساعدك على البدء به جنبًا إلى جنب مع التطبيقات العملية.

فيما يلي الموضوعات التي سأناقشها في درس Struts التعليمي هذا:





ما هو سترتس؟

من الناحية العادية ، فإن Struts هو ملف - إطار عمل مفتوح المصدر يساعد في تطوير تطبيقات الويب في J2EE. ذلكيمتد ويروج للنموذج والعرض والتحكم ( MVC ) هندسة معمارية.هذا يجعل تطبيقات الويب مطورة بتقنيات قياسية مثلJSP و JavaBeans و XML أكثر قابلية للصيانة والتوسعة والمرونة.

تم تطوير إطار Struts Framework في البداية بواسطة Craig McClanahan وتم تسليمه إلى مؤسسة Apache في مايو 2000. وبالتدريج ، استحوذ على موقع مشروع Apache عالي المستوى في عام 2005 ، وفي وقت لاحق في فبراير 2007 ، تم استبداله بـ الدعامات 2 .



استند إطار Struts إلى حد كبير إلى MVC (تحكم عرض نموذج) نموذج التصميم. كان الهدف الرئيسي منه هو فصل النموذج عن العرض والمراقب في التطبيق لتقليل التبعية وتعزيز فصل الاهتمامات (SoC). بمعنى آخر ، ساعد في فصل منطق التطبيق الذي يتصل بشكل أساسي بقاعدة البياناتمن من خلالها يتفاعل المستخدم مع التطبيق والمثيل الذي يساعد في توجيه المعلومات بين النموذج والعرض.

ميزات الدعامات 2

  1. النماذج والإجراءات المستندة إلى POJO :يتم التعامل مع فئات التصرفات في Struts على أنها المتحكم في التطبيق. فهم مسؤولون عن الرد على إجراء المستخدم ، وتنفيذ منطق الأعمال ، وإرجاع نتيجة مع العرض الذي يجب تقديمه. إنها بمثابة فئة نموذجية أيضًا.
  2. العلامات المحسنة والتخصيص: تم تقديم أنواع مختلفة من العلامات في Struts 2 مثل علامات واجهة المستخدم وعلامات التحكم وعلامات البيانات وما إلى ذلك والتي تساعد في تطوير التطبيق.
  3. وظائف AJAX: يدعم Struts 2 تقنية ajax التي تُستخدم عادةً لإنشاء طلب غير متزامن. يقوم بتحسين أداء التطبيق عن طريق إرسال البيانات الميدانية المطلوبة فقط إلى الخادم.
  4. سهولة التكامل: يوفر تكاملاً سهلاً مع أطر ويب أخرى مثل و DWR و SiteMesh و Tiles.
  5. التكوينات الدنيا: أثناء استخدام تطبيق Struts 2 ، لا يلزم إجراء أي تكوينات علوية. إنه يعمل مع الحد الأدنى من التكوينات حيث تأخذ معظم الإعدادات القيم الافتراضية ما لم يكن هناك أي انحراف.
  6. دمج تقنيات العرض: باستخدام Struts2 ، يمكنك الدمج بسهولة مع تقنيات العرض المختلفة مثل XSLT و JSP و Freemarker والسرعة وما إلى ذلك.
  7. الموضوع والقوالب: يوفر Struts 2 الدعم لثلاثة أنواع من السمات:
    1. Xhtml
    2. بسيط
    3. Css_xhtml

هنا XHTML هي السمة الافتراضية لـ Struts 2 وتستخدم بشكل أساسي للشكل والمظهر المشتركين.

الآن بعد أن عرفت ما هو Struts وميزاته المختلفة ، دعنا الآن نمضي قدمًا في مقال Struts التعليمي هذا والتعرف على بنيته.



هندسة معمارية

هندسة الدعامات - الدعامات 2 البرنامج التعليمي - Edurekaكما ترى في الرسم البياني أعلاه ، تستخدم Struts المستوى العالي هندسة MVC . هنا يتم استخدام مرشح Struts2 للإرسال لتطبيق وحدة التحكم أثناء استخدام الإجراءات لتنفيذ النموذج ويتم تنفيذ العرض من خلال الجمع بين أنواع النتائج والنتائج. في هذه البنية ، يتم تمكين الخيط المشترك والربط والتكامل مع المكونات الأخرى بواسطة مكدس القيمة و OGNL. علاوة على ذلك ، تساعد التكوينات الخاصة بتطبيقات الويب جنبًا إلى جنب مع الإجراءات والمعترضات والنتائج وما إلى ذلك أيضًا في توجيه الكثير من المعلومات.

الآن ، اسمحوا لي أن أشرح سير العمل الكامل خلال دورة حياة الطلب الذي تم إنشاؤه بواسطة المستخدم. أدرجت أدناه سير العمل خطوة بخطوة من أجل فهم أفضل لكيفية عمل Struts:

  • يبدأ بطلب المستخدم الذي يتم إرساله إلى الخادم لطلب بعض الموارد.
  • ثم تتم معالجة هذا الطلب بواسطة مرسل المرشح لتحديد الإجراء المناسب.
  • علاوة على ذلك ، يتم بعد ذلك تطبيق وظائف المعترض المكونة بشكل صحيح على الطلب مثل التحقق من الصحة وتحميل الملف وما إلى ذلك.
  • بمجرد تحديد الإجراء المحدد وتنفيذه بناءً على العملية المطلوبة.
  • في حالة الحاجة إلى أي معالجة لاحقة ، يتم استدعاء الاعتراضات المكونة.
  • في النهاية ، يتم توفير النتيجة بواسطة طريقة العرض ويتم إرجاعها إلى المستخدم.

آمل أن يؤدي هذا إلى مسح سير العمل داخل تطبيق Struts. دعنا الآن نرى كل ما تحتاجه في نظامك لتبدأ مع Struts في القسم التالي من هذا البرنامج التعليمي Struts 2

إعداد البيئة

أدناه قمت بإدراج الضروريات الأساسية للبدء مع Struts 2:

  • جافا
    في حالة عدم تثبيت Java على نظامك ، يمكنك الرجوع إلى تثبيت جافا مقالة - سلعة.
  • هر
    إذا لم يكن لديك Tomcat في نظامك ، يمكنك زيارة هنا للتنزيل المجاني.
  • IDE (يفضل الكسوف)
    أخيرًا ، أنت بحاجة إلى ملف كسوف IDE لتطوير التطبيقات.

بمجرد الانتهاء ، تكون جاهزًا لتبليل قدميك بالدعامات. في القسم التالي من هذا البرنامج التعليمي Struts 2 ، سأقدم لك موجزًا ​​عن المفاهيم الأساسية لـ Struts 2.

مفاهيم اساسية

1. التكوينات

يوجد في أي تطبيق struts ملفان رئيسيان للتهيئة:

  1. ملف struts.xml: يحتوي هذا الملف على المعلومات المتعلقة بـالتكوين التي تم تعديلها كإجراءات. يتم استخدامه بشكل أساسي لتجاوز الإعدادات الافتراضية في أحد التطبيقات. يتم إنشاء هذا الملف بشكل عام داخل دليل WEB-INF / classes في أي مشروع Struts.
  2. ملف struts.properties: يوفر هذا الملف آلية يمكنها تغيير سلوك إطار العمل. منذ أيستفيد إطار العمل من عدد من الخصائص التي يمكنك تغيير أي منها وفقًا لمتطلباتك.

2. الإجراءات

تعتبر الإجراءات أو فئات الإجراءات هي المفاهيم الأساسية في أي تطبيق Struts 2 ، حيث تعمل كوحدة تحكم في نمط MVC. بمعنى آخر ، تحتوي فئات الإجراء على منطق الأعمال الذي يساعد في معالجة البيانات. بخلاف ذلك ، فئة العمل مسؤولة أيضًا عنالاستجابة لطلب المستخدمين ، تنفيذ منطق الأعمال. كما أنه يساعد الإطار في تحديد النتيجة وإعادتها على أساس ملف التكوين (struts.xml) ، والعودة إلى المستخدم لعرض صفحة العرض.

لا تعد فئات الإجراءات Stuts2 مفردة بطبيعتها ، أي سيتم إنشاء مثيل واحد من هذه الفئة مع كل طلب. وبالتالي لا يجب أن تكون آمنة للخيط وأن تكون بسيطة ومستقلة. هذا يجعل اختبار هذه الفئات أسهل بكثير.

يمكن إنشاء ملف الإجراء بثلاث طرق ، وهي كالتالي:

  • فئة العمل البسيط
    يمكن استخدام أي فئة جافا ملموسة كفئة عمل Struts 2 ولكن الشرط الوحيد هو أن الفئة يجب أن تحتوي على طريقة execute () بنوع إرجاع String. يوجد أدناه رمز إنشاء فئة إجراءات بسيطة:
package com.edureka.struts2.action public class DemoAction {public String execute () {return 'Welcome!' }}
  • تنفيذ واجهة العمل
    يمكن أيضًا إنشاء فئة Struts 2 Action من خلال تطبيق واجهة com.opensymphony.xwork2.Action. يحتوي على طريقة واحدة ، أي تنفيذ () والتي يجب تنفيذها بواسطة فئة التنفيذ. من خلال تنفيذ هذه الواجهة ، يمكنك الاستفادة من العديد من الثوابت مثل SUCCESS و ERROR و NONE و INPUT و LOGIN والتي يمكن استخدامها لصفحات النتائج.
    يظهر الرمز أدناه مثالاً لنفسه:
package com.edureka.struts2.action import com.opensymphony.xwork2.Action فئة عامة DemoAction تنفذ الإجراء {public String execute () {return SUCCESS}}
  • تمديد فئة دعم ActionSupport

تعمل فئات الإجراء في Struts 2 بشكل عام على توسيع فئة دعم الإجراء وهي التنفيذ الافتراضي لواجهة الإجراء. يوفر العديد من الوظائف الضرورية لتطوير تطبيقات الويب مثل التحقق من صحة البيانات ، ورسالة مستوى الإجراء ، ورسالة خطأ مستوى الإجراء ، ورسالة الخطأ على مستوى الحقل ، وقراءة الموارد المجمعة ، إلخ.

أدناه هو تنفيذ نفسه:

package com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport الفئة العامة DemoAction توسع ActionSupport {Override public String execute () يطرح Exception {return SUCCESS}}

3. المعترضات

يعمل Interceptor كأحد الركائز الرئيسية لإطار Struts 2. إنه ليس سوى كائنالتي يتم استدعاؤها أثناء المعالجة المسبقة والمعالجة اللاحقة لطلب.يساعد في التحكم في الانتقال السلس لدورة الطلب والاستجابة والحفاظ عليها.

الميزة الرئيسية لاستخدام المعترضات هي أنها قابلة للتوصيل. ما أعنيه هو ، في حال لم يعد لديك أي استخدام لمخاوف محددة مثلالتحقق من الصحة ومعالجة الاستثناءات والتسجيل وما إلى ذلك ، يمكنك إزالته بسهولة من التطبيق دون الحاجة إلى إعادة نشره. لهذا ، كل ما عليك فعله هو حذف الإدخال من ملف struts.xml.

يوفر إطار عمل Struts2 مجموعة شاملة من المعترضات المحددة مسبقًا ومداخن الاعتراض الشائعة التي أدرجتها في الجدول أدناه:

المعترض وصف
الاسم المستعار يسمح هذا للمعلمات بأن يكون لها أسماء مستعارة مختلفة عبر طلبات المستخدم
خانة الاختيار يساعد هذا في إدارة مربعات الاختيار عن طريق إضافة قيمة معلمة خطأ لمربعات الاختيار التي لم يتم تحديدها
خطأ في التحويل يؤدي هذا إلى وضع معلومات الخطأ من تحويل السلاسل إلى أنواع المعلمات ضمن أخطاء حقل الإجراء
خلق الجلسة يؤدي هذا ضمنيًا إلى إنشاء جلسة HTTP في حالة عدم وجودها
التصحيح يوفر هذا العديد من شاشات التصحيح للمطور
التنفيذ والانتظار ينقل هذا المستخدم إلى صفحة انتظار وسيطة عندما يتم تنفيذ الإجراء في الخلفية
استثناء هذا يحدد الاستثناءات التي يتم طرحها من العمل نحو النتيجة
تحميل الملف هذا يسهل تحميل الملفات بسهولة في Struts 2
i18n يساعد هذا في تتبع اللغة المحددة أثناء جلسة المستخدم
السجلات يوفر هذا تسجيلًا بسيطًا للمستخدم عن طريق إنشاء الإخراج كاسم الإجراء الذي يتم تنفيذه
بارامز هذا يساعد في تحديد معلمات الطلب على الإجراء
إعداد يستخدم هذا لأداء أعمال المعالجة المسبقة
الملف الشخصي يسمح هذا بمعلومات بسيطة عن التنميط لإجراءات التسجيل.
نطاق يؤدي ذلك إلى تخزين واسترداد حالة الإجراء أثناء جلسة المستخدم أو نطاق التطبيق
ServletConfig هذا يوفر تصاريح العمل للوصول إلى المعلومات المختلفة المستندة إلى servlet
الموقت يوفر هذا معلومات بسيطة عن التشكيل الجانبي
رمز يساعد هذا في التحقق من الإجراء للحصول على رمز مميز صالح لمنع عمليات إرسال النماذج المكررة
التحقق من الصحة يوفر هذا دعم التحقق من صحة الإجراءات المختلفة

4. مكدس القيمة

فاليو ستاكفي Struts2 هي منطقة التخزين حيث يتم تخزين بيانات التطبيق بالكامل لمعالجة الطلب. يتم الاحتفاظ بهذه البيانات داخلActionContextالأشياء التي تستخدمالموضوع المحليلاسترداد القيم الخاصة بأي موضوع طلب عميل محدد.

5. OGNL

يرمز OGNL إلى لغة التنقل في الرسم البياني للكائنات. إنها لغة تعبير قوية تشبه إلى حد كبير JSP وتستخدم في الغالب لـالإشارة إلى البيانات الموجودة في ValueStack ومعالجتها. علاوة على ذلك ، فهي تساعد أيضًا في نقل نوع البيانات وتحويلها.

على غرار JSP ، يحتوي OGNL على كائن جذر داخل سياق التطبيق. وبالتالي ، يمكنك تقديم مرجع للكائن الافتراضي باستخدام تدوين العلامات والذي يتم الإشارة إليه في هذه الحالة باستخدام رمز الجنيه يقوم إطار عمل Struts 2 بتنفيذ OGNL من خلال بناء خريطة ActionContext. أدرجت أدناه مكونات خريطة ActionContext:

  • تطبيق
  • جلسة
  • مكدس القيمة
  • طلب
  • المعلمات
  • السمات

مع هذا ، أنت من خلال أساسيات Struts 2. في القسم التالي من مقالة Struts 2 هذه ، دعنا ننتقل مباشرة إلى الكود وتنفيذ كل ما تعلمته حتى الآن.

مزايا المسج على جافا سكريبت

عرض توضيحي للدعامات 2

هنا سوف أقوم بإنشاء تطبيق بسيط حيث تحتاج إلى إدخال اسمك وسيرحب بك التطبيق. فيما يلي لقطة شاشة لهيكل المشروع الكامل:

كما ترى ، سننشئ في هذا المشروع 5 ملفات هي:

  1. HelloWorld.java
  2. index.jsp
  3. أهلا وسهلا بك. jsp
  4. web.xml
  5. struts.xml

ملاحظة: قبل أن تبدأ هذا المشروع ، تأكد من تثبيت Tomcat بالفعل على نظامك.

الخطوة الأولى: في Eclipse ، انتقل إلى File> New> Dynamic Web Project. أدخل اسم المشروع وانقر على New Runtime.

الخطوة الثانية: هنا تحتاج إلى تحديد إصدار Apache Tomcat الذي قمت بتنزيله على نظامك والنقر فوق التالي.

الخطوة الثالثة: بعد ذلك ، انقر فوق تصفح وانتقل إلى الدليل حيث تم حفظ تبعيات Tomcat. بمجرد الانتهاء ، انقر فوق إنهاء وتابع إنشاء المشروع.

الخطوة الرابعة: دعونا الآن نضيف ملفات Struts jar التي ستكون مطلوبة للتنفيذ الناجح لهذا المشروع. يمكنك تنزيل JARs من هنا . بمجرد أن تصبح جاهزًا باستخدام ملفات JAR ، انسخ JARs والصقها ضمن WebContent> WEB-INF> lib.

الخطوة الخامسة: الآن بعد أن أصبحنا جاهزين بجميع التكوينات ، فلنقم بإعداد ملفات التعليمات البرمجية ، بدءًا من HelloWorld.java. لهذا ، انقر بزر الماوس الأيمن فوق المشروع> جديد> فئة. املأ الحزمة واسم الفئة وانقر على إنهاء.

الخطوة السادسة: اكتب الرمز أدناه في ملف HelloWorld.java ملف.

package com.edureka public class HelloWorld {private String name public String getName () {return name} public void setName (String name) {this.name = name} public String execute () {return 'success'}}

الخطوة السابعة: بعد ذلك ، قم بإنشاء ملف index.jsp ملف ضمن WebContent واكتب الكود أدناه:

 

الخطوة الثامنة: الآن ، قم بإنشاء ملف أهلا وسهلا بك. jsp ملف ضمن WebContent واكتب الكود أدناه:

أهلا بك:

الخطوة التاسعة: انتقل الآن إلى WebContent> WEB-INF واكتب الكود أدناه في ملف web.xml ملف.

Struts2Demo index.html struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareandExecuteFilter struts2 / *

الخطوة العاشرة: أخيرًا ، ضمن Java Resources> src ، أنشئ struts.xml ملف

أهلا وسهلا بك. jsp

الخطوة الحادية عشرة: اذهب الآن إلى index.jsp الصفحة وانقر بزر الماوس الأيمن عليها. حدد تشغيل على الخادم لتنفيذ التطبيق.

يقودنا هذا إلى نهاية هذا المقال حول دروس Struts 2. إذا كنت تريد معرفة المزيد عن Java ، يمكنك الرجوع إلى موقعنا .

الآن بعد أن فهمت ما هو درس Struts 2 التعليمي ، تحقق من ملف من Edureka ، شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250.000 متعلم راضٍ منتشرين في جميع أنحاء العالم تم تصميم دورة تدريب وشهادة Java J2EE و SOA من Edureka للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات بمقال 'دروس 2 Struts 2' وسنعاود الاتصال بك في أقرب وقت ممكن.