Struts یک چارچوب توسعه برنامه است که برای پلتفرم محبوب J2EE که شامل Servlet، JSP و غیره است طراحی و استفاده شده است. Struts یک چارچوب وب بسیار محبوب برای توسعه برنامه های وب با استفاده از جاوا (JEE) است.توصیه میشود که از Struts2 برای پروژه های جدید جاوا استفاده کنید.
Struts چیست و چه کاربردی در زبان جاوا دارد؟
Struts یک چارچوب منبع باز است که Java Servlet API را گسترش میدهد و از معماری (MVC) استفاده میکند. این امکان را برای شما فراهم میکند تا بر اساس فناوری های استاندارد مانند صفحات JSP، جاوا Beans، بسته های منابع و XML، برنامه های تحت وب قابل نگهداری، توسعه یافته و انعطاف پذیر ایجاد کنید.
چارچوب Struts ایجاد شده تا توسعه دهندگان بتوانند servlets یا Java Server Pages را ایجاد کنند که در آن کد پایگاه داده، کد طراحی صفحه و کد جریان کنترل با هم ترکیب نشده باشند. برنامه هایی که به این ترتیب کد با هم مخلوط شده اند، با بزرگتر شدن، نگهداری آنها دشوار میشود.
چارچوب Struts مبتنی بر معماری MVC است، که به توسعه دهندگان کمک میکند تا برنامه های وب زبان جاوا پویا را با تفکیک دقیق ایجاد کنند.
چارچوب Struts مولفه کنترل کننده وب خاص خود را برای مدیریت منطق جریان کنترل فراهم میکند. برای مشاهده، با سایر فناوری ها مانند Java Server Pages از جمله JSTL و ( JSF، Velocity Template Engine) و XSLT ادغام میشود.
برای نمونه، از فناوری هایی مانند JDBC، EJB، Hibernate یا iBATIS برای دسترسی به داده ها استفاده میکند. به طور معمول در طول توسعه برنامه های وب، گروه رابط کاربر ((UI) ظاهر و احساس سایت را ایجاد میکند. براساس این ظاهر و احساس، گروه صفحات HTML ایجاد میکند که نشان دهنده عملکرد و ناوبری برنامه است. توسعه دهندگان UI با استفاده از servlets و پیاده سازی مبتنی بر JavaServer Pages (JSP)، که صفحات HTML به servlets و JSP تبدیل میشوند، اجزای متداول مشاهده HTML و JSP، مانند هدر، پاورقی، متن، منو و جستجو را شناسایی میکنند.
ساختار struts
Apache Struts
Apache Struts یک چارچوب وب بسیار محبوب برای توسعه برنامه های وب با استفاده از جاوا Enterprise Edition (JEE) است. پروژه Apache Struts جامعه منبع باز است که چارچوب Struts را توسعه داده و حفظ میکند. Apache Struts یا به بیان راحت تر، Struts در ژوئیه 2001 منتشر شد. از زمان انتشار، آن را به استانداردی برای ساخت برنامه های وب زبان جاوا با استفاده از JEE تبدیل کرده است.
معماری Apache
Struts 1.0 توسط یک جامعه بزرگ توسعه دهنده پشتیبانی میشود و به طور گسترده ای مستند است. اما طی چند سال گذشته، بسیاری از چارچوب های وب جامعه منبع باز روی صحنه آمده اند و نیاز به همگام شدن با نیازهای در حال تغییر برنامه های وب بوده است. بنابراین، انگیزه ای برای ایجاد نسل بعدی چارچوب Struts ایجاد شده است.
پیشنهاد اولیه ای که سعی داشت این نیاز را برآورده کند Struts Ti بود، یک چارچوب مدل 2 ساده برای توسعه برنامه های وب زبان جاوا برای کسانی که به تنظیمات کمتر و ویژگی های ساختار و کنترل بهتر نیاز دارند. چارچوب دیگری که به این منظور در نظر گرفته شد، Apache Shale بود. با این حال، شیل یک چارچوب مبتنی بر مولفه است که مبتنی بر JSF است. انجمن توسعه دهندگان شیل در اتحاد با Struts مردد بود و تصمیم گرفت توسعه شیل را به عنوان یک پروژه سطح بالا جداگانه ادامه دهد.
پروژه Web Work توسط جامعه Open Symphony آغاز به کار کرد و هدف آن جامعه توسعه دهندگان Struts بود. این نیازهای افرادی را که به دنبال چارچوبی مشابه Struts اما دارای ویژگی های بهتر بودند تامین میکرد. چارچوب Web Work در سال 2002 منتشر شد. پس از چندین سال کار مستقل، انجمن های Web Work و Struts در دسامبر 2005 برای ایجاد نسخه جدید Struts به هم پیوستند. در واقع Struts1 Struts2 بعلاوه Web Work است. استفاده از نسخه جدید Struts ساده تر و نزدیکتر به چشم انداز اصلی Struts است.
ساختار struts2
ویژگی ها و معماری Struts 2.0
تعدادی از ویژگی های جدید معرفی شده در چارچوب Struts 2.0 با هدف ساده ساختن Struts انجام میشود:
طراحی بهبود یافته: برخلاف Struts1، تمام کلاس های Struts 2 بر اساس رابط ها ساخته شده اند. رابط های اصلی از HTTP مستقل هستند. این API ها به Servlet API وابسته نیستند.
اقدامات ساده شده: کلاسهای اکشن Struts2 مستقل از چارچوب هستند و اشیا ساده جاوا (POJO) هستند. هر کلاس جاوا با متد () exec ute میتواند به عنوان کلاس Action استفاده شود.
فرم های POJO :Struts2 از ویژگی Action Forms پشتیبانی نمیکند. خصوصیاتی که در Action Forms تعریف شده اند را میتوان مستقیماً در کلاس های Action قرار داد. نیازی به استفاده از تمام خصوصیات String نیست.
پیش فرض های هوشمند: اکثر عناصر پیکربندی در پرونده پیکربندی Struts2 دارای مقادیر پیش فرض هستند، بنابراین نیازی به تنظیم مقادیر نیست مگر اینکه مقدار دیگری مورد نیاز باشد. این به شما کمک میکند تا پیکربندی لازم برای انجام پرونده XML را کاهش دهید.
نتایج پیشرفته: در Struts2، برچسب <forward> با برچسب < result > جایگزین میشود. برخلاف Action Forwards، نتایج Struts2 به تهیه پاسخ کمک میکند و انعطاف پذیری را برای ایجاد انواع مختلفی از خروجی فراهم میکند.
برچسب های پیشرفته: برچسب های Struts2 فقط داده های خروجی را ارسال نمیکنند، بلکه نشانه گذاری سبک محور را نیز ارائه میدهند تا بتوانید صفحات سازگار با کد کمتری ایجاد کنید. برچسب های Struts2 اکنون میتوانند با موتورهای Free Marker، Velocity و الگوهای مشابه کار کنند.
معرفی رهگیرها:
Struts2 پشتیبانی کامل از رهگیرها را فراهم میکند. رهگیرها را میتوان قبل و بعد از اجرای کلاس Action اجرا کرد. رهگیرها پیکربندی شده اند تا عملکردهای معمول، مانند گردش کار یا اعتبار سنجی را برای درخواست اعمال کنند. همه درخواست ها قبل از اینکه به کلاس Action ارسال شوند، از طریق مجموعه رهگیرها عبور میکنند. پس از اجرای کلاس Action، درخواست مجدداً به ترتیب معکوس از رهگیرها عبور میکند.
پشتیبانی Ajax :
برای ایجاد برنامه های وب پویا که از Ajax استفاده میکنند، Struts2 یک موضوع Ajax را فراهم میکند، که باعث افزایش چشمگیر برنامه های تعاملی میشود. برچسب های Struts2 برای Ajax براساس ابزارکهای Dojo ساخته شده اند. افزونه ها برای سایر فریم ورک ها نیز موجود است.
Quick Start : فایل های پیکربندی مستقر مجدداً بارگیری میشوند. از این رو، بدون نیاز به راه اندازی مجدد ظرف وب، میتوان تغییرات زیادی را انجام داد.
کادرهای تأیید وضعیت: چارچوب Struts2 به طور خودکار کادرهای انتخاب را ردیابی میکند. اگر کادر تأیید وجود نداشته باشد، مقدار پیش فرض -false- فرض میشود. از این رو، بر خلاف Struts1، کادرهای انتخاب برای مقادیر غلط نیاز به دستکاری خاصی ندارند.
تست آسان: Struts2 Actions از HTTP مستقل هستند و بنابراین از نظر چارچوب خنثی هستند.
استفاده از حاشیه نویسی: برنامه های ساخته شده با استفاده از Struts2 میتوانند از حاشیه نویسی Java 5 به عنوان جایگزینی برای پیکربندی خواص XML و Java استفاده کنند. حاشیه نویسی نیاز به XML را به حداقل میرساند. حاشیه نویسی برای اقدامات، رهگیرها، اعتبار سنجی و تبدیل نوع، در دسترس است.
پلاگین آسان: برنامه های افزودنی Struts2 را میتوان با انداختن پرونده پلاگین \JAR WEB در پوشه INF \ lib نصب کرد. هیچ پیکربندی دستی لازم نیست.
ادغام آسان با Spring :Struts 2Actions از Spring آگاه هستند. فقط افزودن لوبیا بهاری به یک برنامه پشتیبانی Spring را اضافه میکند.
کنترل کننده های به راحتی سفارشی: Struts1 اجازه میدهد تا پردازنده درخواست در هر ماژول سفارشی شود. در Struts 2، در صورت لزوم میتوانید رسیدگی به درخواست را برای هر اقدام سفارشی کنید.
مقایسه Struts 1 و Struts2
Struts 1 و Struts2 دارای سه مفهوم اساسی مشترک هستند: درخواست کنندگان، پاسخ دهندگان و کتابخانه های برچسب.
اما در Struts2، این مولفه ها برای ساده تر شدن برای توسعه دهندگان دوباره طراحی و بهبود یافته اند. به عنوان یک توسعه دهنده، تغییرات زیادی را در چارچوب Struts 2 مشاهده خواهید کرد. به عنوان مثال، فیلترها جایگزین سرولت ها شده اند و تغییرات مربوطه در پرونده توصیف استقرار منعکس خواهد شد. به همین ترتیب، پرونده پیکربندی به طور کامل تغییر یافته است. تغییر در کلاس Action، پشتیبانی از حاشیه نویسی و تغییر در اعتبار سنجی از دیگر ویژگی های اصلی دیگری است که متوجه خواهید شد.
تفاوت کلاس strut1 و strut2
نتیجه
چارچوب Struts2 از معماری ساده ای برخوردار است که گسترش آن سخت نیست. استفاده از Struts1 هوشمند و راحت تر است زیرا مبتنی بر POJO است. همچنین دارای تعدادی مزیت نسبت به نسخه قبلی است. چارچوب Struts2 دارای مجموعه ای غنی از ویژگی ها از جمله اقدامات پیشرفته، پشتیبانی از برچسب پیشرفته، پشتیبانی از Ajax و پشتیبانی از حاشیه نویسی است که همه اینها میتوانند برای جامعه بزرگتر توسعه دهنده بسیار مفید باشند. با این وجود Struts1 نمیتواند بلافاصله منسوخ شود، زیرا توسعه دهندگان زیادی هنوز از آن استفاده میکنند.
مهاجرت از Struts1 به Struts2 کار سختی نیست، اما شامل برخی تلاش ها میشود. ساده ترین روش برای مهاجرت، مهاجرت یک صفحه همزمان است. حتی اگر این یک ایده ساده است، هنوز تغییرات زیادی برای ایجاد وجود دارد. ما توصیه میکنیم که از Struts2 برای پروژه های جدید جاوا استفاده کنید و همچنان از Struts1 برای برنامه های موجود که قبلاً برای چارچوب های زبان جاوا نوشته شده اند استفاده کنید. با این حال، هر دو نسخه از چارچوب میتوانند در یک برنامه جاوا واحد وجود داشته باشند.
جریان کاری struts
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690
بستن دیگر باز نشو! |