Struts - Spring MVC
Struts ramkasi Java EE veb-ilovalarini ishlab chiqish uchun dastlabki veb-ilovalar ramkalaridan biridir. Spring - bu ochiq kodli dastur tizimi. Bahor ramkasi joriy qilinganidan bir muncha vaqt o'tgach, ishlab chiquvchilar Struts-da sezgan ba'zi cheklovlarni bartaraf etishga umid qilib, Spring Framework-ga MVC ramkasini qo'shdilar. Ammo bir necha yil o'tgach, Struts2 (yoki Struts versiyasi 2) keldi va u butunlay boshqacha va juda yaxshilangan veb-ilovalar ramkasi edi. Hozirda Struts ham, Spring MVC ham dunyoda Java EE ilovalarini ishlab chiqish uchun juda koʻp foydalanilmoqda.
Struts nima?
Struts (shuningdek, Apache Struts nomi bilan ham tanilgan) Java-da yozilgan, Java EE veb-ilovalarini ishlab chiqish uchun moʻljallangan, oʻzaro platformali ochiq kodli tizimdir. Struts MVC (Model-View-Controller) arxitekturasidan foydalanishni rag'batlantiradi. Bu Java Servlet API kengaytmasi. Kreyg MakKlanahan Strutsning asl yaratuvchisidir. Dastlab u Jakaratha Struts nomi bilan tanilgan va Apache Software Foundationning Jakarta loyihasi ostida qo'llab-quvvatlangan. Uning joriy barqaror versiyasi 2011 yil may oyida chiqarilgan 2.2.3 versiyasidir. U Apache License 2.0 ostida chiqarilgan. Struts ramkasi so'rovga asoslangan ramka deb ataladi va u uchta asosiy komponentdan iborat: so'rovlarni qayta ishlash, javoblarni qayta ishlash va teglar kutubxonasi. Standart URI (Yagona resurs identifikatori) so'rovni qayta ishlashga moslashtirilgan. Javob boshqaruvchisi boshqaruvni uzatish uchun javobgardir. Shakllar bilan interfaol ilovalar yaratish uchun teglar kutubxonasi tomonidan taqdim etilgan xususiyatlardan foydalanish mumkin. Struts REST ilovalarini va SOAP, AJAX va hokazolarni qo'llab-quvvatlaydi.
Bahor MVC nima?
Spring ochiq kodli dastur tizimidir. U Rod Jonson tomonidan ishlab chiqilgan va birinchi versiyasi 2004 yilda chiqarilgan. Bahor 3.0.5 - Bahor ramkasining joriy versiyasi. U Apache 2.0 litsenziyasi ostida litsenziyalangan. Har qanday Java ilovasi Spring frameworkning asosiy xususiyatlaridan foydalanishi mumkin. Spring framework-da bir nechta modullar mavjud va MVC ulardan biri. Spring MVC ramkasi ularning asl rejasining bir qismi emas edi. Aslida, Spring ishlab chiquvchilari o'zlarining MVC ramkalari bilan kelishganining sababi, ular Struts (1-versiya) va boshqa shunga o'xshash ramkalardagi kamchiliklar sifatida ko'rsatgan echimlarni taqdim etish edi. Xususan, ular taqdimot qatlami, so'rovlarni qayta ishlash qatlami va model o'rtasidagi ajratilish yo'qligiga e'tibor qaratmoqchi ekanliklarini aytishdi. Spring MVC ham soʻrovga asoslangan veb-ilovalar ramkasidir.
Struts va Spring MVC o'rtasidagi farq nima?
Spring MVC va Struts Java EE veb-ilovalarini ishlab chiqish uchun ishlatiladigan ikkita mashhur veb-ilovalar ramkalari bo'lsa-da, ularning farqlari bor. Aslida, Spring MVC Struts-da bir nechta cheklovlarni hal qilish uchun ishlab chiqilgan (1-versiya). Ammo Struts2 1-versiyaga qaraganda ancha takomillashtirilgan ramkadir (ular hatto bir xil kod bazasiga ega emas) va shuning uchun Spring MVC va Structs2 ni juda solishtirish mumkin.
Spring MVC ning asosiy afzalliklaridan biri shundaki, JSP/JSTL, Tiles, FreeMaker, Excel, PDF va JSON kabi koʻplab koʻrish imkoniyatlari bilan uzluksiz integratsiyaga ega boʻlish mumkin. Biroq, Struts-dan farqli o'laroq, Spring MVC o'rnatilgan AJAX-ni qo'llab-quvvatlamaydi (uchinchi tomon AJAX kutubxonasidan foydalanish kerak).
Oxir-oqibat, ularning ikkalasi ham juda etuk ramkalar hisoblanadi va ikkalasi o'rtasida tanlov qilish shaxsiy imtiyozlarga bog'liq. Shuni ta'kidlash kerakki, agar strutsga nisbatan salbiy his-tuyg'ular mavjud bo'lsa, ular faqat Struts 1-versiyasida topilgan kamchiliklarga bog'liq (bu endi eskirgan hisoblanadi).