Struts жана Struts ортосундагы айырма2

Struts жана Struts ортосундагы айырма2
Struts жана Struts ортосундагы айырма2

Video: Struts жана Struts ортосундагы айырма2

Video: Struts жана Struts ортосундагы айырма2
Video: Осб на пол толщина на лаги по грунту или как сделать пол своими руками на лаги, в частном доме.. 2024, Июль
Anonim

Struts vs Struts2

Struts (ошондой эле Apache Struts же Struts 1 катары белгилүү) Java EE веб тиркемелерин иштеп чыгуу үчүн арналган Java тилинде жазылган кайчылаш платформа ачык булак алкагы. Бул Java EE веб-тиркемелеринин алгачкы негиздеринин бири болгон. Бирок бир нече жыл өткөндөн кийин, Struts2 (же Struts 2-версиясы) келди жана ал такыр башка жана абдан жакшыртылган веб-тиркеме алкагы болду. Анда баштапкы версияда кемчиликтер катары кабыл алынган бир нече маселелер каралган. Азыр, Struts2 дүйнөдө Java EE колдонмолорун иштеп чыгуу үчүн абдан көп колдонулууда.

Struts деген эмне?

Struts (Struts 1) алкагы Java EE веб тиркемелерин иштеп чыгуу үчүн баштапкы веб-тиркеме алкактарынын бири болгон. Struts алкактары MVC (Model-View-Controller) архитектурасын колдонууга үндөйт. Бул Java Servlet API кеңейтүүсү. Крейг МакКланахан Strutsтун түпнуска жаратуучусу. Башында ал Джакарата Струтс катары белгилүү болгон жана Apache Software Foundation Жакарта долбоорунун алкагында жүргүзүлүп келген. Ал Apache License 2.0 астында чыгарылган. Struts алкактары суроо-талапка негизделген алкак деп аталат жана ал үч негизги компоненттен турат: суроону иштеткич, жооп иштетүүчү жана тег китепканасы. Стандарттык URI (Бирдиктүү ресурс идентификатору) суроо-талаптарды иштетүүчүгө окшоштурулган. Жооп иштетүүчү башкарууну өткөрүп берүү үчүн жооптуу. Формалар менен интерактивдүү тиркемелерди түзүү үчүн тег китепканасы сунуш кылган функцияларды колдонсо болот. Struts REST колдонмолорун жана SOAP, AJAX ж.б.у.с. ар кандай технологияларды колдойт.

Struts2 деген эмне?

Struts алкагы ошол кездеги Java EE иштеп чыгуучулары тарабынан белгилүү бир чектөөлөрдү (негизинен презентация катмарынын, суроону иштетүү катмарынын жана моделдин ортосундагы бөлүнүүнүн жоктугу) камтыган деп кабыл алынган жана натыйжада бир нече жылдан кийин Struts2 келген. Чынында, Struts2 Struts такыр башкача болгон. Чындыгында, алар бир эле код базасын бөлүшүшкөн жок, анткени Struts2 жөн гана WebWork 2.2 негизинин атын өзгөртүүнүн натыйжасы болгон (б.а. WebWork жана Struts коомдоштуктары бир нече убакыт бою өзүнчө иштеген, акыры Struts2 менен келиш үчүн биригишкен). Анын учурдагы туруктуу версиясы 2011-жылдын май айында чыккан 2.2.3 версиясы.

Struts жана Struts2 ортосунда кандай айырма бар?

Struts фреймворкинин көптөгөн көйгөйлөрүнүн бири интерфейстердин ордуна абстракттуу класстарга программалоо зарылдыгы болгон. Бул Struts2 алкагында чечилген. Мисалы, Struts негизи Action класстарын абстракттуу базалык класстардан кеңейтүүнү талап кылган, бирок Struts2 Actions Action интерфейсин ишке ашыра алат. Эки версиянын ортосундагы жип моделиндеги айырмачылыктарга байланыштуу Struts алкагындагы Action объектилерине байланыштуу жип-коопсуздук маселелери Struts2 алкагында пайда болбойт. Себеби, Struts2 Action объекттери ар бир сурам үчүн түзүлөт, ал эми Struts алкагындагы Action ошол Аракеттин бардык сурамдарын иштетүү үчүн бир гана инстанцияга ээ. Struts алкагындагы аракеттерден айырмаланып, Struts2 Actions Servlet API'ден көз каранды эмес.

Struts2 алкагынын сыналышы Struts алкагына салыштырмалуу жогору. Сиз Struts2 Аракеттерин үч кадамдан кийин сынасаңыз болот: инстанциялоо, касиеттерди орнотуу жана ыкмаларды чакыруу. Киргизүүнү жыйноо Struts2 алкагында оңой, анткени Action касиеттери экинчи киргизүү объектисин сактабастан, киргизүү касиеттери катары колдонулат. JSTL интеграциясын колдоодон тышкары (ал Strutsто бар), Struts2 алкагы күчтүүрөөк жана экспрессивдүү OGNLди (Object Graph Notation Language) колдоно алат. Типти өзгөртүү үчүн Strut жана Strut2 тиешелүүлүгүнө жараша Commons-Beanutils жана OGNL колдонушат. Бул өркүндөтүүлөрдөн улам, Struts2 алкагы абдан жетилген негиз болуп эсептелет жана ал Java EE программисттеринин арасында абдан популярдуу. Экинчи жагынан, Struts алкагы азыр эскирген деп эсептелет.

Сунушталууда: