Makala düşünmek üçin zerur bilim derejesi: Java Core-ä eýýäm has az düşünipdiňiz we JavaEE tehnologiýalaryna we web programmirlemelerine seretmek isleýärsiňiz. Häzirki wagtda makala ýakyn mowzuklary öz içine alýan Java kolleksiýa gözlegini öwrenýän bolsaňyz, iň manysy bar.
Häzirki wagtda IntelliJ IDEA Enterprise Edition ulanýaryn (bu IDE-iň tölegli ösen wersiýasy, adatça hünär ösüşinde ulanylýar -
redaktoryň belligi ). Mugt jemgyýetçilik neşirine garanyňda web taslamalary bilen işlemek has aňsat. Şeýlelik bilen, “Enterprise Edition” -da sözüň doly manysynda syçanjygyň bir gezek basylmagy bilen taslama ýygnalýar, hyzmat ediş konteýnerine guýulýar, serwer başlaýar we hatda işleýän taslamasy bolan sahypa hem brauzerde açylýar. Pikiriň erkin wersiýasynda munuň köpüsi özbaşdak, el bilen aýdylanda edilmeli. Taslamany gurmak we ömrüni dolandyrmak üçin Apache Maven-den peýdalanýaryn. Onda men onuň mümkinçilikleriniň diňe ujypsyzja bölegini ulandym (paket / garaşlylygy dolandyrmak). Serwer konteýner / Programma serweri hökmünde Apache Tomcat 9.0.0.M4 wersiýasyny saýladym. Has täze wersiýalarynyň bardygyny bilýärin, ýöne şu gurnadym.
Başlalyň
Ilki bilen, IntelliJ IDEA açalyň we boş Maven taslamasyny döredeliň.
Bu ýerde çep tarapda Maveni saýlaýarys, taslama üçin JDK-nyň ýokarda görkezilendigini barlaň. Ol ýerde ýok bolsa, sanawdan zerur birini saýlaň ýa-da Täze basyň ... we göni kompýuteriňizden saýlaň. Penjiräniň ortasynda arhetipleriň sanawyny ýükleýän animasiýa bar. Olara zerurlyk ýok, şonuň üçin göçürip almaga garaşman, penjiräniň aşagyndaky "Indiki" düwmesine basyň.
Bu penjirede GroupId we ArtifactId görkezmeli . GroupId taslamany öndürýän kompaniýanyň özboluşly kesgitleýjisine degişlidir. Kompaniýanyň domen adyny ulanmak adaty zat, ýöne tersine. Aýna manysynda däl, meselem, bir kompaniýanyň domen ady
maven.apache.org bolsa , onda GroupId org.apache.maven bolar . .Agny, ilki bilen birinji derejeli domeni ýazýarys, nokat bilen bölýäris, ikinji derejeli domeniň adyny ýazýarys we ş.m. Bu umumy kabul edilen çemeleşme. Taslamany bir kompaniýa hökmünde däl-de, özbaşdak “kesýän” bolsaňyz, şahsy domen adyňyzy şu ýere ýazyň (tersine tertipde!). Eger bar bolsa, elbetde :). Notok bolsa, gaharlanmaň. Aslynda, şu ýerde
islendik zat ýazyp bilersiňiz .
Vasya.pupkin.org domen ady bolan bir kompaniýa üçin GroupId org.pupkin.vasya bolar. Atlara bu çemeleşme, şol bir at bilen, ýöne dürli kompaniýalar tarapyndan çykarylan taslamalary bölmek üçin zerurdyr. |
Bu mysalda fatfaggy.info.javarush.ru toslama domen adyny ulanaryn . Şoňa görä,
GroupId meýdançasyna ru.javarush.info.fatfaggy girýärin .
ArtefactId diňe taslamamyzyň ady. Sözleri aýyrmak üçin harplary we käbir nyşanlary (mysal üçin defisler) ulanyp bilersiňiz. “Artefaktymyz” edil şu ýerde ýazyşymyz ýaly atlandyrylar.
Bu mysalda, super-proýektimi ýazýaryn . Häzirlikçe wersiýa meýdanyna degmeýäris, bolşy ýaly goýýarys.
Garaz, täze taslama döredilende adaty IDEA penjiresi. Däp bolşy ýaly,
meniň super-proýektim diýeliň .
Taslama döredildi!
Pom.xml faýly derrew öňümizde açyldy. Bu Maven sazlamalary bilen bir faýl. Maveniň nämäni we nädip etmelidigini ýa-da nireden almalydygyny “aýtmak” islesek, bularyň hemmesini şu pom.xml faýlynda suratlandyrýarys. Taslamanyň düýbünde ýerleşýär. |
Indi Maven taslamasyny döredenimizde girizen maglumatlarymyzyň bardygyny görýäris:
groupId ,
artifactId we
wersiýasy (ikinjisine degmedik).
Taslamamyzyň gurluşy
Bu Maven taslamasynyň belli bir gurluşy bar.
Görşümiz ýaly, düýp ýalan:
- häzirki taslama üçin ideýa sazlamalaryny öz içine alýan .idea katalogy ;
- çeşmelerimizi döredýän src katalogy ;
- my-super-project.iml faýly , IDEA tarapyndan döredilen taslama faýly;
- pom.xml faýly , ýokarda gürleşen şol bir Maven taslama faýly, indi açýarys. Bir ýerde pom.xml ýa-da “pom” agzasam, bu aýratyn faýly göz öňünde tutaryn.
Src bukjasynda öz gezeginde iki kiçi bukja bar:
- esasy - kodumyz üçin;
- synag - kodumyz üçin synaglar üçin.
Esasy we
synag ikisinde
java bukjasy bar . Bularyň şol bir bukjadygyny, diňe
esasy biriniň deslapky kody, synagdaky
bolsa degişlilikde synag kody üçin degişlidigini göz öňünde tutuň.
Häzirlikçe çeşmeler bukjasyna asla zerurlyk ýok, ulanmarys. Goý, ol ýatsyn.
Web taslamasyna öwrülmek
Maven taslamamyzy web taslamasyna öwürmegiň wagty geldi. Munuň üçin bu agaçdaky taslama adyna sag basyň we
çarçuwa goldawyny goşuň ...
Taslamamyz üçin dürli çarçuwalara goldaw goşup boljak penjire açylar. Weöne bize diňe biri gerek:
Web Programma . Biz ony saýlaýarys.
Web programmasynyň gapdalynda bellik belliginiň bardygyny barlaýarys we penjiräniň esasy böleginde derrew
web.xml faýlynyň döredilmegini isleýändigimiz bellendi (gutyny ýok bolsa barlamagy maslahat berýärin) .
Ondan soň taslamamyzyň gurluşynyň web bukjasy bilen üsti ýetirilendigini göreris .
Bu / web sahypamyzyň kökidir . .Agny, brauzerde ýerlihost adresini girizsek (elbetde ony işe girizenimizde), web taslamasynyň düýbüne edil şu ýere girip bolar.
Localhost / addUser-i girizsek ,
web bukjasy
addUser atly çeşme gözlär .
Esasy zat , Tomcat-a ýüklänimizde web bukjasynyň taslamamyzyň kökidigine düşünmekdir . Indi belli bir bukjanyň gurluşy bar, ýöne ýüklän taýýar taslamamyzda birneme üýtgeşik bolar we web bukjasy şol ýerde kök bolar. |
Webde
, öňki ädimde döretmegi haýyş eden web.xml faýly ýerleşýän
WEB -INF atly zerur bukja bar . Geliň açalyň.
Görşüňiz ýaly, entek gyzykly zat ýok, diňe “şlýapa”. Theeri gelende aýtsak, ony döretmegi haýyş etmedik bolsak, el bilen döretmeli bolmagymyz mümkin, ýagny bu “sözbaşy” el bilen ýazmaly ýa-da aşa ýagdaýlarda internetde taýýar wersiýa gözlemeli bolarys. .
Web.xml näme üçin ? Kartalaşdyrmak üçin Bu ýerde Tomkata haýsy URL haýsy hyzmat hyzmatlaryna iberilmegini haýyş edýändigini aýdarys. Thatöne bu soňrak, häzirlikçe ony boş galdyrarys.
Web bukjasynda
index.jsp atly bir faýl hem bar . Geliň açalyň.
Bu, başgaça aýdylanda ýerine ýetiriljek faýl. .Agny, taslama başlanymyzda, edil görjek zadymyz şu. Aslynda,
jsp içindäki java koduny ýerine ýetirip boljak tapawudy bilen adaty html faýlydyr.
Statik we dinamiki mazmun hakda azajyk
Statik mazmun wagtyň geçmegi bilen üýtgemeýän mazmun. Html faýlynda ýazan zatlarymyzyň hemmesi üýtgemezden görkeziler. Salam dünýä ýazan bolsak, bu ýazgy sahypany açan badyna, 5 minutda, ertir, bir hepde we bir ýylda görkeziler. Ol üýtgemez. Currentöne häzirki senäni sahypada görkezmek islesek näme etmeli? Diňe “2017-nji ýylyň 27-nji oktýabry” diýip ýazsak, ertir şol senäni, bir hepdede we bir ýylda göreris. Emma bu senäniň henizem aktual bolmagyny isleýärin. Ynha, sahypanyň içindäki käbir kodlary ýerine ýetirmek ukyby bize kömek edýär. Sene obýektini alyp, ony zerur görnüşe öwrüp, sahypada görkezip bileris. Soň her gün, haçan-da sahypany açanymyzda, sene hemişe möhümdir. Bize diňe statiki mazmun gerek bolsa, adaty web serweri we html faýllary bize ýeterlikdir. Bize Java, Maven ýa-da Tomcat gerek däl. Emma dinamiki mazmuny ulanmak islesek, bularyň hemmesi peýdaly bolar.
Nowöne häzirlikçe index.jsp indeksimize gaýdyp geleliň . Adaty sözbaşynyň ýerine öz zadymyzy görkezeliň, mysal üçin “Meniň super web programmam!” We bedenimize mysal üçin “Men diri!” Writeazarys. Taslamamyzy durmuşa geçirmäge taýyn diýen ýaly! Emma, gynansak-da, programmany işe girizmek üçin adaty ýaşyl üçburçluk işjeň däl.
Geliň, onuň çep tarapyndaky düwmä basalyň (ekranda gyzyl ok bilen görkezilýär) we
konfigurasiýalary üýtgetmek saýlaň ... Haýsydyr bir konfigurasiýa goşmak üçin ýaşyl plýus belgisine basmagymyzy haýyş eden penjire açylar. Oňa basyň, penjiräniň ýokarky çep burçunda ýerleşýär.
Tomcat Server elementini we
ýerli kiçi elementi saýlaň . Köp dürli parametrler bilen penjire açylar, ýöne hemme zat diýen ýaly we asyl görnüşinden hoşal.
Nädip-de bolsa adaty ady belli däl (iň ýokarsynda) ýerine konfigurasiýamyzy gowy atlandyryp bileris . Şeýle hem pikiriň Tomkaty ulgamymyzda üstünlikli tapandygyny barlamak zerur ( öňem
göçürip alyp, gurnadyňyz , şeýlemi?). Eger tapyp bilmeseňiz (bu ähtimal däl), aşaky oky basyň we nirede gurandygymyzy ýa-da birnäçe görnüşi bar bolsa başga bir wersiýasyny saýlaň. Mende bar we ol eýýäm gurnalan, şonuň üçin hemme zat skrinshotdaky ýaly. Penjiräniň iň aşaky böleginde serwere ýerleşdirmek üçin niýetlenen ýekeje-de artefaktyň ýokdugy barada duýduryşyň bardygyny görýäris. Bu ýazgynyň sag tarapynda bu kemçiligi düzetmegi teklip edýän düwme bar. Biz oňa basýarys we ideýanyň özi hemme zady tapandygyny, hemme zady özi döredendigini, nämäni ýitirendigini we ähli sazlamalaryň özi edilendigini görýäris.
Serwer goýmasyndan ýerleşdiriş goýmasyna ,
serweriň başlangyç bölüminde ýerleşdirmekde eýýäm ýerleşdirilmeli artefaktyň bardygyny görýäris we aşakda bu artefaktyň ýerleşdirilmezden ozal guruljakdygy görkezilýär.
Giriş, Bolýar. Ilki bilen, penjiräniň düýbünde ýerli Tomcat serwerimiz bilen artefaktymyzyň ýerleşdiriljek bir bölüminiň peýda bolandygyny görýäris. Penjiräniň sag tarapyndaky degişli düwmä basyp, bu bölümi ýykyp bilersiňiz.
Şeýle hem, uçurmak üçin ýaşyl üçburçlugyň eýýäm işjeňdigini görýäris. Hemme zady barlamak isleýänler üçin taslama sazlamalary (düwmäni sag tarapda, gyzyl ok bilen bellenen) düwmesine basyp, Artifaktlar bölümine baryp,
artefaktyň hakykatdanam döredilendigine göz ýetirip bilersiňiz.
Şol düzediş düwmesini basýançak ol ýerde ýokdy , ýöne indi hemme zat gowy. Bu konfigurasiýa bize gaty laýyk gelýär. Gysgaça aýdanymda,
meniň super-proýektimiň arasyndaky tapawut: uruş bilen
meniň super-proýektim: uruş partlady, meniň
super-proýektim: uruş diňe bir söweş faýly döreder (bu diňe arhiw) we opsiýa
ýaryldy , diňe
"açylmadyk" söweş . Bu opsiýa meniň üçin has amatly, sebäbi serwere ownuk üýtgeşmeleri çalt ýerleşdirmäge mümkinçilik berýär. Aslynda, artefakt diňe Tomkata ýüklemek üçin bukjanyň gurluşy üýtgedilen taslamamyzdyr. Munuň ýaly bir zat görüner:
Häzir, hemme zat taslamamyzy durmuşa geçirmäge taýyn.
Isleg bildirýän ýaşyl başlangyç düwmesini basýarys we netijeden lezzet alýarys! :)
GO TO FULL VERSION