الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهي ابرز فوائد Struts

مغلق
بدأه صالح البدر في 13 أغسطس 2006 · 8 رد · 1,743 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أنا ابشركم مبرمج بالجافا والى JSP

بشكل مممتاز

سمعت عن شيء اسمه Sturs لل JSP

بس للاسف ماعندي فيه اي فكره

اللي يعرف عنه اي فكرة ويقدر يفيدني في ذلك اكون له من الشاكرين

تم تعديل هذه المشاركة بواسطة مجدي محمود في 2 نوفمبر 2006 في 13:37

#2

هذه فكرة بسيطة حول ال struts لاني الان جالس اتعلمها..

ال struts تعتبر نوع من انواع ال application framework . أي انها تهتم بتطبيقك بشكل عام.

مثل التحكم في ال requests وتحويلها الى servlet. يعني لن تحتاج لاستخدامها غالبا الا في المشاريع الكبيرة جدا.

هي تختلف عن ال JSF كون ال JSF تهتم بالواجهة User Interface ولذلك الجي اس اف يسمونها :

User Interface Framework

بامكانك ان تعتبر ال JSF جزء بسيط من اجزاء ال Struts .

اسف سوف اقطعك من كتابة الكود، ادخل هنا لدقيقتين فقط

http://www.shbab1.com/2minutes.htm

#3

ممكن توضح اللإسترتس اكتر من كده

ومامن كاتب إلا سيفني ويبقي الله ماكتبت يداه

فلا تكتب بيدك غير شئ يسرك في القيامه ان تراه

#4

السترتس بيئة عمل تستخدم لبناء تطبيقات الويب الكبيرة نوعا ما. حيث تعتمد مبدأ الـ MVC وهي اختصار لـ Model, View, Controller

أهم فائدة لها بشكل عام (برأيي الشخصي جدا) هو سهولة صيانة المشروع في المستقبل، بسبب الفصل بين الـ presentation logic و الـ business logic

ممكن تتطلع على الكتاب المرفق، وان شاء الله يفيدك

و لو مهتم بالموضوع بشكل جدي، ممكن اقدم درس سريع

وشكرا جزيلا

عفوا بس الكتاب المرفق يستخدم السترتس مع الـ eclipse وممكن تحميله من الموقع

http://www.eclipse.org/downloads/

بالإضافة الى بلجين للإكليبس اسمه myeclipse ممكن تحميله من الموقع

http://www.eclipseplugincentral.com/displayarticle531.html

MyEclipse_Struts.pdf

#5

مثل ماقال أخي اسامه

Struts هي framework open source تقوم بتنفيذ MVC Pattern على الابلكيشن تبعك

وكمثل أي open source سريعة التطور ولحقت تغيرات كثيره فيها

http://struts.apache.org/download.cgi#struts135

مشكلتها انها تتعمق في الكودنق وتفرعاتها وطريقة عمل implement لها في الابلكيشن

يعني تخيل انك راح تعدل على struts-config.xml & web.xml وراح تنتج ملفات خاصه بMVC Pattern

في IDEs تخليك تعمل struts بابسط الطرق الممكنه وانا جربتها على RSA تبع IBM وكانت شوي طويله

بالمرفقات workbook لطريقة عملها وماهيتها

بالتوفيق

webstruts.pdf

#6

حالات مرت بك سابقا :

- لنفترض مثلا ان عندك صفحة JSP تقوم بعمل تسجيل دخول لمستخدم، ثم تقوم بعد التأكد من صحة اسم المستخدم وكلمة المرور بتحويلك الى الصفحة الرئيسية. وبعد ان انتهيت من انشاء جميع صفحات الموقع اكتشفت انك بحاجة لعمل كود يتأكد من أن المستخدم قد مر فعلا بتسجيل الدخول، (ولم يقم مثلا بكتابة الـ URL مباشرة للوصول الى الصفحة الرئيسية) فتخيل أنك يجب أن تقوم بكتابة هذا الكود في جميع صفحات الموقع... فكم من الوقت والجهد تحتاج، وكم من الأخطاء قد تحدث.

- لنفترض انك تستخدم الـ Oracle كقاعدة بيانات، وبعد أن انتهيت من انشاء موقع كبير ومعقـد اكتشفت انك بحاجة الى تغيير قاعدة البيانات الى MySql أو أسوأ من ذلك تخيل ان تصميم قاعدة البيانات قد تغير لإضافة ميزات أخرى.

- تعديل هيكلية موقع كبير قد يؤدي الى كارثة اذ يجب عليك ملاحقة جميع الروابط، والتأكد من أنها تشير الى الصفحة الصحيحة.

أساس فكرة الـ MVC والتي يستند اليها السترتس تقوم على التالي:

بدلا من ان تقوم صفحة الـ JSP باستدعاء صفحة JSP أخرى مباشرة، فانها يجب أن تستدعي أولا صفحة Servlet ثم تقوم هذه الـ Servlet بعد القيام بالعمليات المطلوبة (مثل تسجيل دخول مستخدم، تسجيل مستخدم جديد، استعلام عن الطلاب المسجلين في دورة... الخ) تقوم هذه الـ Servlet بالتحويل الى صفحة الـ JSP المطلوبة.

أي أن العمليات( Business Logic ) يتم في صفحة الـ Servlet (أو حتى في كلاسات خارجية) وليس في صفحة الـ JSP، وبهذه الطريقة نستطيع التحكم بأي تعديلات في المستقبل بطريقة مرنة جدا بدون الإبحار في صفحات الـ JSP نفسها.

وقد يقول شخص، طيب ... أستطيع أن أقوم بهذه العملية (استخدام Servlet) بدون اللجوء الى تعقيدات الـ Struts.

وأقول أن السترتس وفرت عليك ادارة الـ Servlets المتعددة وربطها بصفحات الـ JSP وذلك عن طريق توفير Framework جاهز، وما عليك الا أن تعرِّف الـ Servlet في ملف XML يسمى struts-config.xml بطريقة معينة يفهمها الـ Struts (أي باسم Action معين) ثم استخدام الـ Action المعرف في صقحة الـ JSP. (يمكن الرجوع للكتب المرفقة لمعرفة الصيغة الصحيحة لكتابة ملف الـ struts-config.xml)

أكثر من ذلك ...

عندما تريد عرض أسماء الموظفين، فإنك بعد الاستعلام من قاعدة البيانات عادة ما تقوم بعمل لووب داخل صفحات الـ JSP (أقصد المبتدئين زي حالاتي)، ومثل ما قلت اذا حصل أي تعديل صغير في قاعدة البيانات..... واو كارثة

الـ Struts تستخدم الـ Beans لنقل البيانات من صفحات الـ Servlet الى الـ JSP والعكس، والـ Bean ما هو الى كلاس فيه متغيرات ولكل متغير getter و setter أي أنه لو معك متغير اسمه emp سيكون معه getter سمه getEmp وsetter اسمه setEmp

وباستخدام الـ Beans يكون عليك ان تعمل الاستعلام المطلوب في صفحة الـ Servlet (أو مثل ما قلت في كلاس خارجي)، وتعبي القيمة الناتجة في Bean، وفي صفحة الـ JSP تقرأ الـ Bean. وبهذه الطريقة تكون كل استعلاماتك في كلاسات معينة، وأي تعديل يكون في مكان معين وسهل وسريع.

تعديل الهيكلية أكثر مرونة، لأن كل العمليات تمر عبر ملف الـ struts-config.xml كل ما عليك هو تعديل هذا الملف.

ولأن كل صفحات الـ JSP تمر عبر Servlets فالتأكد من تسجيل الدخول يكون في هذه الصفحات بشكل أكثر فعالية ومرونة.

انا لا أقول ان الـ Struts سهله، ولكنها تجعل التحكم بالمشاريع الكبيرة (تعديل، تحديث، اضافة، حذف) أسرع وأوفر للوقت والجهد.

#7

شباب حد جرب الـ Struts من قبل؟ أو على الأقل حد حاول يجربها وواجه صعوبة معينه؟

أي سؤال ان شاء الله احاول اساعد

#8

شكرا على مبادرتك أسامه أنا واجهتني بعض المشاكل في أول تطبيق لها

ولكن مارأيك لو نذهب للjsf مباشرة ونطبق أمثله عليها لأنها ألغت فكرة struts

ثم لدي سؤال هل تستعمل IDE معين لإنتاج Struts أم انك تعتمد على notepad

#9

لا، لا أعتمد على النوت باد أكيد، و انما أستخدم الـ Eclipse مع بلجين مضافه اسمها MyEclipse (روابط التحميل مرفقه في مشاركة سابقه). هذه البلجين تقوم بانتاج السترتس تلقائيا ( باستخدام ويزاردس).

و هناك كتاب مرفق أيضا يقوم بالشرح خطوة خطوة كيفية استخدام الـ MyEclipse في انتاج السترتس

هذا الموضوع مغلق.

مواضيع مشابهة