..


Спонсоред Линкс

Веб - комплетан пример

Ево пример веб апликације, видимо прецизније како да се примени контролер и ЈСП које вам омогућавају да додате књигу колекцију књига.

Пре свега, у нашој веб.кмл конфигуришете ВебАпплицатионЦонтект и мапирање ДиспатцхерСервлет:






 <- ПРОЛЕЋЕ ->







 <цонтект-парам>



  



 <парам-наме> цонтектЦонфигЛоцатион </ парам-наме>



  



 <парам-валуе> цласспатх *: апплицатионЦонтект.кмл </ парам-валуе>







 </ Контекст-парам>









 <листенер>



  



 <листенер-цласс> орг.спрингфрамеворк.веб.цонтект.ЦонтектЛоадерЛистенер </ слушалац класе>







 </ Слушалац>









 <- МВЦ ->







 <сервлет>



  



 <сервлет-наме> пролеће-МВЦ </ сервлет-наме>



  



 <сервлет-цласс> орг.спрингфрамеворк.веб.сервлет.ДиспатцхерСервлет </ сервлет класе>



  



 <лоад-он-стартуп> 1 </ Лоад-на-покретања>







 </ Сервлет>









 <сервлет-маппинг>



  



 <сервлет-наме> пролеће-МВЦ </ сервлет-наме>



  



 <урл-паттерн> / акција / * </ урл-паттерн>







 </ Сервлет-мапирање>



Без тог ми стварамо нашу књигу класе:






 публиц цласс Боок {





  



 @ Величина (мин = 1, порука = "имена поља не може бити празан")



  



 @ Паттерн (регек = "[А-За-з0-9 _]+", порука =" име поља може да садржи само слова ")



  



 привате Стринг име;



	

  



 @ НотНулл



  



 @ Величина (мин = 1, порука = "Аутор пољу не може бити празан")



  



 @ Паттерн (регек = "[А-За-з']+", порука =" Аутор поље може садржати само слова ")



  



 привате Стринг аутора;





  



 ДатеТимеФормат @ (образац = "дд / мм / ииии")



  



 @ НотНулл (порука = "Датум издавања пољу не може бити празан")



  



 приватне Датум датаДиУсцита;



	

  



 / / Геттерс и креатори .................



  



 //..........







 }



Као што можете видети нашу књигу има три атрибута:
  • назив књиге
  • аутор
  • Релеасе Дате
Али, видимо да је, поред дефинисања атрибута, ту су и коментарима.
Ове белешке су део ЈСР-303 , и ако било који од ових АПИ-имплемтазионе је присутна у цласспатх, пролеће је у стању да потврди наш модел.
Да би се омогућило валидацију потребно је само да додате белешке на атрибуте наш модел и додати @ Исправан поред улазних параметара применом наших контролер:





 @ Контролер







 {Публиц цласс БоокЦонтроллер





  



 Листа личних <Боок> Бооклист;



	

  



 јавни БоокЦонтроллер () {



    



 Бооклист <Боок> = нев АрраиЛист ();



  



 }



	

  



 / / Прикажи креирање страница

 

  



 @ РекуестМаппинг (вредност = "/ цреатеБоок" метход = РекуестМетход.ГЕТ)



  



 Стринг добродошли (модел модела) {



    



 модел.аддАттрибуте ("књиге", нова књига ());



    



 повратак "/ књига / цреатеБоок";



  



 }



	

  



 / / Провера да ли постоје грешке при провери ваљаности, а ако не, књига додаје на листу



  



 @ РекуестМаппинг (вредност = "/ Цреате", метод = РекуестМетход.ПОСТ)



  



 Стринг стварају (боок @ ваљан, БиндингРесулт резултат) {



    



 ако је (ресулт.хасЕррорс ()) {



      



 повратак "/ књига / цреатеБоок";



    



 }



    



 боокЛист.адд (књига);



    



 повратак "преусмеравање: ГетВиев";



  



 }



	

  



 / / Прикажи листа књига



  



 @ РекуестМаппинг (вредност = "/ ГетВиев")



  



 Стринг поглед (модел модела) {



    



 модел.аддАттрибуте ("Бооклист", Бооклист);



    



 повратак "/ књига / поглед";



  



 }







 }



сада видимо два ЈСП:

1) ВЕБ-ИНФ/јсп/боок/цреатеБоок.јсп






 <% @ Паге лангуаге = "Јава" цонтентТипе = "тект / хтмл; цхарсет = утф-8" пагеЕнцодинг = "утф-8"%>







 <% @ Таглиб префикс = "облик" ури = "хттп://ввв.спрингфрамеворк.орг/тагс/форм"%>







 <ДОЦТИПЕ ХТМЛ ПУБЛИЦ "- / / В3Ц / / ДТД ХТМЛ 4.01 Транситионал / / ЕН" "хттп://ввв.в3.орг/ТР/хтмл4/лоосе.дтд">







 <хтмл>







 <хеад>







 <мета хттп-екуив="Цонтент-Типе" цонтент="тект/хтмл; цхарсет=УТФ-8">







 <титле> Додај књигу </ титле>







 </ Хеад>







 <боди>







 <форм:форм цоммандНаме="боок" МЕТХОД="ПОСТ" ацтион="цреате">



  



 <фиелдсет>



    



 <легенд> Додај књигу </ легенд>



    



 <п>



      



 <форм:лабел фор="номе" патх="номе"> Име </ форм: лабел> <бр/>



      



 <форм:инпут патх="номе" /> <форм:еррорс патх="номе" />

			

    



 </ П>



    



 <п>

	

      



 <форм:лабел фор="ауторе" патх="ауторе"> Аутор </ форм: лабел> <бр/>



      



 <форм:инпут патх="ауторе" /> <форм:еррорс патх="ауторе" />



    



 </ П>



    



 <п>



      



 <форм:лабел фор="датаДиУсцита" патх="датаДиУсцита"> Времену </ форм: лабел> <бр/>



      



 <форм:инпут патх="датаДиУсцита" /> <форм:еррорс патх="датаДиУсцита" />



    



 </ П>



    



 <п>

	

      



 <инпут типе="субмит" валуе="Цреа Либро" />



    



 </ П>



  



 </ ФИЕЛДСЕТ>







 </ Облик: форм>







 </ Боди>







 </ ХТМЛ>



2) ВЕБ-ИНФ/јсп/боок/виев.јсп





 <% @ Паге лангуаге = "Јава" цонтентТипе = "тект / хтмл; цхарсет = утф-8" пагеЕнцодинг = "утф-8"%>







 <% @ Таглиб УРИ = "хттп://јава.сун.цом/јсп/јстл/цоре" префикс = "Ц"%>









 <ДОЦТИПЕ ХТМЛ ПУБЛИЦ "- / / В3Ц / / ДТД ХТМЛ 4.01 Транситионал / / ЕН" "хттп://ввв.в3.орг/ТР/хтмл4/лоосе.дтд">







 <хтмл>







 <хеад>







 <мета хттп-екуив="Цонтент-Типе" цонтент="тект/хтмл; цхарсет=УТФ-8">







 <титле> Списак књига </ титле>







 </ Хеад>







 <боди>







 <п>



  



 <а хреф="цреатеБоок"> Унесите још једну књигу </ а>







 </ П>







 <фиелдсет>







 Књиге <легенд> убаци </ легенд>







 <ц:форЕацх итемс="${боокЛист}" вар="боок">



  



 Име: <ц:оут валуе="${боок.номе}" /> <бр/>



  



 Аутор: <ц:оут валуе="${боок.ауторе}" /> <бр/>



  



 Године: <ц:оут валуе="${боок.датаДиУсцита}" /> <бр/>



  



 <хр/>







 </ Ц: фореацх>







 </ ФИЕЛДСЕТ>









 </ Боди>







 </ ХТМЛ>



На крају видимо садржај ВЕБ-ИНФ/спринг-мвц-сервлет.кмл:






 <- Омогућите Коментари ->







 <мвц:аннотатион-дривен />









 <- Контролер ->







 <беан цласс="ит.мрвебмастер.мвц.БоокЦонтроллер" сцопе="сессион"/>









 <- ПОГЛЕД ресолвер ->







 <беан ид="виевРесолвер" цласс="орг.спрингфрамеворк.веб.сервлет.виев.ИнтерналРесоурцеВиевРесолвер">



  



 <проперти наме="виевЦласс" валуе="орг.спрингфрамеворк.веб.сервлет.виев.ЈстлВиев" />



  



 <проперти наме="префик" валуе="/ВЕБ-ИНФ/јсп/" />



  



 <проперти наме="суффик" валуе=".јсп" />







 </ Бин>



Пролеће Јава Водич
Е-учење
Линук (курс) Линук (курс)
Комплетан водич за опен-соурце систем. Од 49 €.
ПХП (курс) ПХП (курс)
Цео курс за креирање динамичких веб сајтова. Од 49 €.
Руби и Руби он Раилс (курс) Руби и Руби он Раилс (курс)
Израду софтвера и веб апликација са рубином и РОР. Од 39 €.
Спонсоред Линкс