Водич за Струтс 2 - решење на једном месту за почетнике



Овај чланак о Струтс 2 Водичу помоћи ће вам да започнете са Струтс 2 фрамеворк-ом за развој Ј2ЕЕ веб апликација заједно са демонстрацијом кода.

Ако тражите који вам могу помоћи у брзом и ефикасном развоју ЈЕЕ веб апликација, онда је Струтс 2 савршено решење за вас. Струтс 2 је оквир отвореног кода који се у великој мери користи на тржишту. Кроз овај туториал Струтс 2, помоћи ћу вам да започнете с њим, заједно са практичним применама.

Испод су теме о којима ћу расправљати у овом Струтс туториалу:





Шта је Струтс?

Лаички речено, Струтс је заснован на отвореном изворном оквиру који помаже у развоју веб апликација у Ј2ЕЕ. Топродужава и промовише модел, приказ, контролер ( МВЦ ) архитектура.То чини веб апликације развијене у стандардним технологијама попутЈСП, ЈаваБеанс и КСМЛ, одрживији, проширивији и флексибилнији.

Струтс Фрамеворк је у почетку развио Цраиг МцЦланахан и предао га је Апацхе фондацији у мају 2000. Постепено заузима положај врхунског Апацхе пројекта 2005. године, а касније у фебруару 2007. замењен је Подметачи 2 .



Струтс Фрамеворк се у великој мери заснивао на МВЦ (Модел-Виев-Цонтроллер) парадигма дизајна. Његов главни циљ био је да одвоји модел од погледа и контролера у апликацији како би смањио зависност и промовисао раздвајање забринутости (СоЦ). Другим речима, помогло је у раздвајању апликационе логике која углавном комуницира са базом податакаод путем којих корисник ступа у интеракцију са апликацијом и инстанцом која помаже у усмеравању информација између модела и приказа.

Карактеристике Струтс 2

  1. ПОЈО Засновани облици и радње :Класе акција у Струтс-у се третирају као контролори у апликацији. Они су одговорни за одговор на радњу корисника, извршавање пословне логике и враћање резултата са приказом који треба да се прикаже. Такође делује као класа Модел.
  2. Побољшане ознаке и прилагођавање: У Струтс 2 су уведени различити типови ознака попут УИ тагова, контролних ознака, Дата тагова итд. Који помажу у развоју апликација.
  3. АЈАКС функционалност: Струтс 2 подржава ајак технологију која се обично користи за генерисање асинхроног захтева. Омогућава побољшање перформанси апликације слањем само потребних података поља на сервер.
  4. Лака интеграција: Омогућава лаку интеграцију са другим веб оквирима као што су , ДВР, СитеМесх и плочице.
  5. Минималне конфигурације: Док користите апликацију Струтс 2, нису потребне додатне конфигурације. Ради са минималним конфигурацијама, где већина поставки узима подразумеване вредности, осим ако нема одступања.
  6. Интегришите технологије прегледа: Са Струтс2 можете лако да се интегришете са различитим технологијама приказа као што су КССЛТ, ЈСП, Фреемаркер, брзина итд.
  7. Тема и предлошци: Струтс 2 пружа подршку за 3 врсте тема:
    1. Ксхтмл
    2. Једноставно
    3. Цсс_кхтмл

Овде је КСХТМЛ задата тема за Струтс 2 и углавном се користи за уобичајени изглед и стил.

Сада када знате шта су Струтс и његове разне функције, хајде да сада кренемо даље са овим чланком о Струтс водичу и научимо о његовој архитектури.



Архитектура

Струтс Арцхитецтуре - Водич за Струтс 2 - ЕдурекаКао што видите на горњем дијаграму, Струтс користи високи ниво МВЦ архитектура . Овде се Струтс2 филтер сервлета за отпрему користи за имплементацију контролера, док се акције користе за имплементацију модела, а приказ је имплементиран комбиновањем типова резултата и резултата. У овој архитектури заједничку нит, повезивање и интеграцију са другим компонентама омогућавају стек вредности и ОГНЛ. Поврх свега, конфигурације за веб апликације, заједно са радњама, пресретачима, резултатима итд. Такође помажу у каналирању великог броја информација.

Сада ћу вам објаснити комплетан ток посла током животног циклуса захтева који је генерисао корисник. Испод сам навео корак по корак ток посла ради вашег бољег разумевања начина рада Струтс-а:

  • Почиње са корисничким захтевом који се шаље серверу ради захтева за неким ресурсом.
  • Потом овај захтев обрађује филтер диспечер да би одредио одговарајућу акцију.
  • Даље, правилно конфигурисане функционалности пресретача се затим примењују на захтев као што су валидација, отпремање датотека итд.
  • Једном када се одабрана акција одлучи и изврши на основу тражене операције.
  • У случају да се позове било која накнадна обрада, конфигурисани пресретачи.
  • На крају, резултат пружа приказ и враћа се кориснику.

Надам се да ће ово очистити ток рада у Струтс апликацији. Хајде да сада видимо шта вам је све у вашем систему потребно за почетак рада са Струтс-ом у следећем одељку овог водича за Струтс 2

Подешавање окружења

Испод сам навео основне потребе за почетак рада са Струтс 2:

  • Јава
    У случају да на вашем систему није инсталирана Јава, можете се обратити Инсталација Јава чланак.
  • Томцат
    Ако немате Томцат у свом систему, можете да посетите овде за бесплатно преузимање.
  • ИДЕ (по могућности Ецлипсе)
    Коначно, треба вам ваш Ецлипсе ИДЕ за развој апликација.

Када завршите, спремни сте да намочите ноге Струтс-ом. У следећем одељку овог водича за Струтс 2, даћу вам кратак преглед основних појмова за Струтс 2.

Основни појмови

1. Конфигурације

У било којој апликацији струтс постоје две главне конфигурационе датотеке:

  1. датотека струтс.кмл: Ова датотека садржи информације у вези саконфигурације које су модификоване као акције. Углавном се користи за замену подразумеваних подешавања у апликацији. Ова датотека се обично креира у директоријуму ВЕБ-ИНФ / класе у било ком Струтс пројекту.
  2. датотека струтс.пропертиес: Ова датотека пружа механизам који може променити понашање оквира. Пошто је афрамеворк користи бројна својства која можете променити било којим од њих према вашим захтевима.

2. Акције

Акције или класе радњи су основни концепти било које апликације Струтс 2, јер делују као контролер у МВЦ обрасцу. Другим речима, класе акције садрже пословну логику која помаже у обради података. Осим овога, за то је одговорна и класа акцијеодговарање на захтев корисника, извршавање пословне логике. Такође помаже оквиру у одређивању и враћању резултата на основу конфигурационе датотеке (струтс.кмл), назад кориснику за приказивање странице Виев.

Стутс2 класе радњи нису појединачне природе, тј. Једна инстанца ове класе ће се креирати са сваким захтевом. Стога не морају да буду заштићени нитима и једноставни су и независни. Ово чини тестирање ових класа много лакшим.

Датотека акције може се креирати на три начина, а то су:

  • Класа једноставне акције
    Било која конкретна јава класа може се користити као Струтс 2 класа акције, али једини захтев је да класа мора да садржи методу екецуте () са врстом Стринг ретурн. Испод је код за стварање једноставне класе акција:
пакет цом.едурека.струтс2.ацтион јавна класа ДемоАцтион {публиц Стринг екецуте () {ретурн 'Добродошли!' }}
  • Имплементација Ацтион интерфејса
    Класа Струтс 2 Ацтион такође се може створити применом интерфејса цом.опенсимпхони.кворк2.Ацтион. Садржи једну методу, тј. Екецуте () коју мора имплементирати класа имплементације. Имплементацијом овог интерфејса можете користити неколико константи као што су УСПЕХ, ГРЕШКА, НИЈЕ, УЛАЗ и ПРИЈАВА које се могу користити за странице резултата.
    Испод код приказује пример за исти:
пакет цом.едурека.струтс2.ацтион импорт цом.опенсимпхони.кворк2.Ацтион јавна класа ДемоАцтион имплементира Ацтион {публиц Стринг екецуте () {ретурн СУЦЦЕСС}}
  • Проширивање класе АцтионСуппорт

Класе акције у Струтс 2 обично проширују класу Ацтион Суппорт која је подразумевана имплементација Ацтион интерфејса. Пружа разне императивне функционалности за развој веб апликација као што су валидација података, порука на нивоу акције, порука о грешци на нивоу акције, порука о грешци на нивоу поља и пакет података за читање итд.

Испод је примена истог:

пакет цом.едурека.струтс2.ацтион импорт цом.опенсимпхони.кворк2.АцтионСуппорт јавна класа ДемоАцтион проширује АцтионСуппорт {@Оверриде публиц Стринг екецуте () баца изузетак {ретурн СУЦЦЕСС}}

3. Пресретачи

Пресретач делује као један од главних стубова оквира Струтс 2. То није ништа друго до објекаткоји се позива током претпроцесирања и постпроцесирања захтева.Помаже у контроли и одржавању несметаног преласка циклуса захтева и одговора.

Главна предност употребе пресретача је што се може прикључити. Оно што мислим је, у случају да више немате користи од одређене забринутости попутпроверу ваљаности, руковање изузецима, евидентирање итд., лако га можете уклонити из апликације без потребе за поновним распоредом. За ово, све што треба да урадите је да избришете унос из датотеке струтс.кмл.

Оквир Струтс2 пружа свеобухватан сет унапред дефинисаних пресретача и уобичајених скупова пресретача које сам навео у доњој табели:

Пресретач Опис
алиас То омогућава параметрима да имају различите псеудониме имена у корисничким захтевима
поље за потврду Ово помаже у управљању пољима за потврду додавањем вредности параметра фалсе за поља за потврду није означена
цонверсионЕррор Ово смешта информације о грешкама из претварања низова у типове параметара унутар грешака поља радње
цреатеСессион Ово имплицитно ствара ХТТП сесију у случају да она не постоји
отклањање грешака Ово програмеру пружа разне екране за отклањање грешака
екецАндВаит Ово пребацује корисника на страницу посредничког чекања када се радња извршава у позадини
изузетак Ово пресликава изузетке који су избачени из акције ка резултату
филеУплоад Ово омогућава лако отпремање датотека у Струтс 2
и18н Ово помаже у праћењу наведеног локалитета током корисничке сесије
трупци Ово омогућава једноставно пријављивање корисника генерисањем резултата као имена радње која се извршава
парамс Ово помаже у постављању параметара захтева на радњу
припремити Ово се користи за обављање послова предобраде
профил Ово омогућава једноставне информације о профилисању за радње евидентирања.
Обим Ово складишти и преузима стање радње током корисничке сесије или опсега апликације
СервлетЦонфиг Ово омогућава радњу за приступ разним информацијама заснованим на сервлетима
тајмер Ово пружа једноставне информације о профилисању
жетон Ово помаже у провери радње за важећи токен како би се спречило дуплицирано слање образаца
валидација Ово пружа подршку за валидацију различитих радњи

4. Вредност стацка

ВалуеСтацку Струтс2 је складишни простор у коме се чувају целокупни подаци апликације за обраду захтева. Ови подаци се чувају у оквируАцтионЦонтектобјеката који користиТхреадЛоцалза преузимање вредности специфичних за било коју одређену нит клијентског захтева.

5. ОГНЛ

ОГНЛ је скраћеница од Објецт-Грапх Навигатион Лангуаге. Моћан је изразни језик сличан ЈСП-у и углавном се користи зареференца и манипулација подацима присутним у ВалуеСтацк-у. Штавише, такође помаже у преносу и конверзији врсте података.

Слично ЈСП-у, ОГНЛ садржи основни објекат унутар контекста апликације. Дакле, референцу на задати објекат можете пружити помоћу ознаке која се у овом случају означава симболом фунте. Струтс 2 фрамеворк имплементира ОГНЛ градећи АцтионЦонтект мапу. Испод сам набројао компоненте мапе АцтионЦонтект:

  • Апликација
  • Седница
  • Вредностни низ
  • Захтев
  • Параметри
  • Атрибути

Овим сте прошли кроз основе Струтс-а 2. У следећем одељку овог чланка Струтс-а 2 можете директно да ускочите у код и примените све што сте до сада научили.

подизање броја на степен у јави

Струтс 2 Туториал Демо

Овде ћу направити једноставну апликацију у коју треба да унесете своје име и апликација ће вас дочекати. Испод је снимак екрана комплетне структуре пројекта:

Као што видите, у овом пројекту ћемо створити 5 датотека које су:

  1. ХеллоВорлд.јава
  2. индек.јсп
  3. велцоме.јсп
  4. веб.кмл
  5. струтс.кмл

Напомена: Пре него што започнете овај пројекат, уверите се да је на вашем систему већ инсталиран Томцат.

КОРАК И: У свом Ецлипсеу идите на Филе> Нев> Динамиц Веб Пројецт. Унесите назив пројекта и кликните на Нев Рунтиме.

КОРАК ИИ: Овде треба да изаберете верзију Апацхе Томцат коју сте преузели на свој систем и кликните на Даље.

КОРАК ИИИ: Затим кликните на Прегледај и дођите до директоријума у ​​којем су сачуване зависности Томцат-а. Када завршите, кликните на Финисх и наставите са израдом пројекта.

КОРАК ИВ: Додајмо сада Струтс јар датотеке које ће бити потребне за успешно извршавање овог пројекта. ЈАР-ове можете преузети са овде . Када сте спремни са ЈАР датотекама, копирајте ЈАР-ове и залепите их у ВебЦонтент> ВЕБ-ИНФ> либ.

КОРАК В: Сада када смо спремни са свим конфигурацијама, омогућава постављање кодних датотека, почев од ХеллоВорлд.јава. За ово кликните десним тастером миша на пројекат> Ново> Разред. Попуните назив пакета и класе и кликните на Финисх.

КОРАК ВИ: Унесите доњи код у ХеллоВорлд.јава датотека.

пакет цом.едурека јавна класа ХеллоВорлд {име приватног низа публиц Стринг гетНаме () {ретурн наме} јавна празнина сетНаме (име низа) {тхис.наме = наме} публиц Стринг екецуте () {ретурн 'суццесс'}}

КОРАК ВИИ: Следеће створите ново индек.јсп датотеку под ВебЦонтент и укуцајте доњи код:

 

КОРАК ВИИИ: Сада поново креирајте нови велцоме.јсп датотеку под ВебЦонтент и укуцајте доњи код:

Добродошли:

КОРАК ИКС: Сада идите на ВебЦонтент> ВЕБ-ИНФ и унесите доњи код у веб.кмл датотека.

Струтс2Демо индек.хтмл струтс2 орг.апацхе.струтс2.диспатцхер.нг.филтер.СтрутсПрепареандЕкецутеФилтер струтс2 / *

КОРАК Кс: На крају, у Јава Ресоурцес> срц креирајте струтс.кмл датотека

велцоме.јсп

КОРАК КСИ: Сада идите на индек.јсп страницу и кликните на њу десним тастером миша. Изаберите Покрени на серверу да бисте извршили апликацију.

Ово нас доводи до краја овог чланка о водичу Струтс 2. Ако желите знати више о Јави, можете се обратити нашој .

Сад кад сте схватили шта је Струтс 2 Водич, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА дизајниран је за студенте и професионалце који желе да буду Јава програмер. Курс је дизајниран да вам пружи почетну предност у Јава програмирању и обучи вас како за основне тако и за напредне Јава концепте, заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га помињете у одељку за коментаре овог чланка „Водич за Струтс 2“ и јавићемо вам се што је пре могуће.