Струтс вс Струтс2
Струтс (такође познат као Апацхе Струтс или Струтс 1) је цросс-платформски опен соурце оквир написан на Јави, који је намењен развоју Јава ЕЕ веб апликација. То је био један од почетних оквира Јава ЕЕ веб апликација. Али неколико година касније, стигао је Струтс2 (или Струтс верзија 2), и то је био потпуно другачији и високо побољшани оквир веб апликација. Било је адресирано на неколико питања која су у почетној верзији схваћена као недостаци. Сада се Струтс2 веома користи за развој Јава ЕЕ апликација у свету.
Шта је Струтс?
Оквир Струтс (Струтс 1) био је један од почетних оквира веб апликација за развој Јава ЕЕ веб апликација. Оквир Струтс подстиче употребу МВЦ (Модел-Виев-Цонтроллер) архитектуре. То је проширење Јава Сервлет АПИ-ја. Цраиг МцЦланахан је оригинални творац Струтс-а. У почетку је био познат под називом Јакаратха Струтс, а одржаван је у оквиру Јакарта Пројецт оф Апацхе Софтваре Фоундатион. Издаје се под лиценцом Апацхе 2.0. Оквир Струтс назива се оквир заснован на захтеву, а састоји се од три главне компоненте: алата за обраду захтева, обрађивача одговора и библиотеке ознака. Стандардни УРИ (јединствени идентификатор ресурса) мапиран је у обрађивач захтева. Руковалац одговором је одговоран за пренос контроле. За креирање интерактивних апликација са обрасцима могу се користити функције које нуди библиотека ознака. Опори подржавају РЕСТ апликације и разне технологије попут СОАП, АЈАКС, итд.
Шта је Струтс2?
Оквир Струтс-а је сматрао да садржи одређена ограничења (углавном недостатак раздвајања између презентацијског слоја, слоја за обраду захтева и модела) од стране Јава ЕЕ програмера у то време, а самим тим и неколико година касније, Струтс2 је стигао. Заправо, Струтс2 се потпуно разликовао од Струтс-а. У ствари, они нису ни делили исту базу кодова, јер је Струтс2 једноставно резултат преименовања оквира ВебВорк 2.2 (тј. Заједнице ВебВорк и Струтс које су неко време радиле одвојено у коначници су се удружиле како би смислиле Струтс2). Тренутно стабилно издање је верзија 2.2.3, која је објављена у мају 2011. године.
Која је разлика између Струтс-а и Струтс2?
Један од многих проблема оквира Струтс била је потреба за програмирањем на апстрактне класе уместо интерфејса. То је решио оквир Струтс2. На примјер, оквир Струтс захтијева да се класе Ацтион прошире са апстрактних основних класа, али Струтс2 Ацтион може имплементирати акцијски интерфејс. Због разлика у моделу навоја између две верзије, питања безбедности нити која су се појавила у оквиру Струтс-а у вези са објектима Ацтион не појављују се у оквиру Струтс2. Разлог је што су Објекти Струтс2 Ацтион инстанцирани за сваки захтјев, док Акција у Струтс оквиру има само једну инстанцу која обрађује све захтјеве за ову Акцију. За разлику од акција у оквиру Струтс, акције Струтс2 не зависе од сервлет АПИ-ја.
Тестабилност оквира Струтс2 је упоредно већа од оквира Струтс2. Акције Струтс2 можете тестирати једноставно пратећи три корака: инстанција, подешавање својстава и позивање метода. Скупљање уноса је лакше у Струтс2 оквиру јер се Ацтион својства користе као улазна својства, без потребе да се задржи други улазни објект. Осим подршке за ЈСТЛ интеграцију (која постоји у Струтс-у), оквир Струтс2 може користити и снажнији и експресивнији ОГНЛ (Објецт Грапх Нотатион Лангуаге). За конверзију типа, Струт и Струт2 користе Цоммонс-Беанутилс и ОГНЛ, респективно. Због ових побољшања, Струтс2 оквир се сматра високо зрелим оквиром и врло је популаран међу Јава ЕЕ програмерима. С друге стране, оквир Струтс-а данас се сматра застарелим.