CodeGym/Java blog/Véletlen/A legegyszerƱbb webprojekt létrehozåsa az IntelliJ IDEA E...
John Squirrels
Szint
San Francisco

A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban. LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel

Megjelent a csoportban
A cikk megĂ©rtĂ©sĂ©hez szĂŒksĂ©ges ismeretek: többĂ©-kevĂ©sbĂ© mĂĄr kitalĂĄlta a Java Core-t , Ă©s szeretne a JavaEE technolĂłgiĂĄkkal Ă©s webprogramozĂĄssal foglalkozni . Az lenne a legĂ©sszerƱbb, ha jelenleg a Java Collections kĂŒldetĂ©st tanulmĂĄnyoznĂĄ, amely a cikkhez közel ĂĄllĂł tĂ©mĂĄkkal foglalkozik.
A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 1
Jelenleg az IntelliJ IDEA Enterprise Edition-t hasznĂĄlom ( a szerkesztƑ megjegyzĂ©se: ez az IDE fizetƑs kiterjesztett vĂĄltozata; ĂĄltalĂĄban a szakmai fejlesztĂ©s sorĂĄn hasznĂĄljĂĄk). Sokkal egyszerƱbb webes projektekkel dolgozni, mint az ingyenes közössĂ©gi kiadĂĄsban . Az Enterprise Edition- ben szĂł szerint egyetlen kattintĂĄs az egĂ©rrel felĂ©pĂ­ti a projektet, bedobja egy szervlet-tĂĄrolĂłba, elindĂ­tja a kiszolgĂĄlĂłt, Ă©s mĂ©g egy weboldalt is megnyit a projekthez a böngĂ©szƑben. Az IDEA ingyenes verziĂłjĂĄban ennek nagy rĂ©szĂ©t egyedĂŒl, azaz "manuĂĄlisan" kellene megtennie. Apache Maven- t hasznĂĄloka projekt felĂ©pĂ­tĂ©sĂ©hez Ă©s Ă©letciklusĂĄnak kezelĂ©sĂ©hez. A kĂ©pessĂ©geinek (csomag/fĂŒggƑsĂ©gkezelĂ©s) csak egy kis rĂ©szĂ©t hasznĂĄltam ebben a projektben. Szervlet-tĂĄrolĂłkĂ©nt/alkalmazĂĄskiszolgĂĄlĂłkĂ©nt az Apache Tomcat 9.0.12-es verziĂłjĂĄt vĂĄlasztottam.

KezdjĂŒk el

ElƑször nyissa meg az IntelliJ IDEA-t , Ă©s hozzon lĂ©tre egy ĂŒres Maven projektet . A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 2A bal oldalon vĂĄlassza ki a Maven elemet , Ă©s ellenƑrizze, hogy fent van-e kivĂĄlasztva a projekt JDK-ja . Ha nincs ott, vĂĄlasszon egyet a listĂĄbĂłl, vagy kattintson az Új ... gombra, Ă©s vĂĄlasszon egyet a szĂĄmĂ­tĂłgĂ©prƑl. A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 3Ebben az ablakban meg kell adnia a GroupId Ă©s az ArtifactId Ă©rtĂ©keket . A GroupId a projektet kibocsĂĄtĂł cĂ©g egyedi azonosĂ­tĂłjĂĄra utal. Az ĂĄltalĂĄnos gyakorlat a cĂ©g domain nevĂ©nek hasznĂĄlata, de fordĂ­tott sorrendben. De nem olyan, mint egy tĂŒkör. PĂ©ldĂĄul, ha egy vĂĄllalat domain neve maven.apache.org , akkor a csoportazonosĂ­tĂłja org.apache.maven. Vagyis elƑször a legfelsƑ szintƱ tartomĂĄnyt Ă­rjuk, adjunk hozzĂĄ egy pontot, majd a mĂĄsodik szintƱ tartomĂĄnyt, Ă©s Ă­gy tovĂĄbb. Ez az ĂĄltalĂĄnosan elfogadott megközelĂ­tĂ©s. Ha sajĂĄt maga "csiszolja" a projektet (Ă©s nem egy cĂ©g rĂ©szekĂ©nt), akkor ide Ă­rja be szemĂ©lyes domain nevĂ©t (szintĂ©n fordĂ­tott sorrendben!). Ha van, termĂ©szetesen. :) Ha nem, ne aggĂłdj. Ide tulajdonkĂ©ppen bĂĄrmit Ă­rhatsz .
A john.doe.org domain nĂ©vvel rendelkezƑ vĂĄllalatnĂĄl a GroupId org.doe.john lesz. Erre az elnevezĂ©si konvenciĂłra azĂ©rt van szĂŒksĂ©g, hogy elkĂŒlönĂ­tsĂŒk a kĂŒlönbözƑ vĂĄllalatok ĂĄltal elƑállĂ­tott, azonos nevƱ projekteket.
Ebben a pĂ©ldĂĄban egy fiktĂ­v domaint fogok hasznĂĄlni: fatlady.info.codegym.cc . Ennek megfelelƑen a GroupId mezƑbe beĂ­rom a cc.codergym.info.fatlady cĂ­met . Az ArtifactId egyszerƱen a projektĂŒnk neve. A szavak elvĂĄlasztĂĄsĂĄra hasznĂĄlhat betƱket Ă©s bizonyos szimbĂłlumokat (pĂ©ldĂĄul kötƑjeleket). "Artefaktumunkat" pontosan az lesz a neve, amit itt Ă­runk. Ebben a pĂ©ldĂĄban az Ă©n-szuperprojektemet fogom hasznĂĄlni . MĂ©g ne Ă©rintse meg a verziĂł mezƑt – csak hagyja Ășgy, ahogy van. És itt van a standard IDEA ablak, amikor Ășj projektet hoz lĂ©tre. A hagyomĂĄnyokhoz hĂ­ven nevezzĂŒk ezt az Ă©n-szuperprojektemnek . A projekt lĂ©trejött!A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 4A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 5
A Pom.xml azonnal megnyĂ­lik. Ez egy Maven beĂĄllĂ­tĂĄsokkal rendelkezƑ fĂĄjl. Ha meg akarjuk mondani a Mavennek, hogy mit tegyen, vagy hol talĂĄljon valamit, mindezt leĂ­rjuk ebben a pom.xml fĂĄjlban. A projekt gyökerĂ©ben talĂĄlhatĂł.
LĂĄtjuk, hogy most pontosan azokat az adatokat tartalmazza, amelyeket a Maven projekt lĂ©trehozĂĄsakor adtunk meg : groupId , artifactId Ă©s version (ez utĂłbbihoz nem nyĂșltunk hozzĂĄ).

ProjektĂŒnk felĂ©pĂ­tĂ©se

Ennek a Maven projektnek sajĂĄtos szerkezete van. A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 6Amint lĂĄtja, a gyökĂ©rnek:
  • egy .idea könyvtĂĄr, amely az aktuĂĄlis projekt IDEA beĂĄllĂ­tĂĄsait tartalmazza;
  • egy src könyvtĂĄr, ahol lĂ©trehozzuk a forrĂĄskĂłdunkat;
  • egy my-super-project.iml fĂĄjl, amely egy IDEA ĂĄltal lĂ©trehozott projektfĂĄjl;
  • a pom.xml fĂĄjl (a Maven projektfĂĄjl, amelyet korĂĄbban emlĂ­tettem), amely most meg van nyitva. Ha valahol emlĂ­tem a pom.xml fĂĄjlt, akkor errƑl a fĂĄjlrĂłl beszĂ©lek.
Az src mappĂĄn belĂŒl kĂ©t almappa talĂĄlhatĂł:
  • main — kĂłdunkhoz;
  • teszt – a kĂłdunk tesztelĂ©sĂ©hez.
A main Ă©s a tesztben van egy java mappa. Ezeket ugyanannak a mappĂĄnak tekintheti, kivĂ©ve, hogy a main- ban talĂĄlhatĂł a forrĂĄskĂłd, a tesztben pedig a tesztkĂłd. EgyelƑre nem hasznĂĄljuk az erƑforrĂĄs mappĂĄt. Nem fogjuk hasznĂĄlni. De csak hagyd ott.

Alakítsa åt webprojektté

Itt az ideje, hogy a Maven projektĂŒnket webprojekttĂ© alakĂ­tsuk . Ehhez kattintson a jobb gombbal a projekt nevĂ©re ebben a fĂĄban, Ă©s vĂĄlassza a KeretrendszertĂĄmogatĂĄs hozzĂĄadĂĄsa 
 A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 7MegnyĂ­lik egy ablak, ahol kĂŒlönbözƑ keretrendszerek tĂĄmogatĂĄsĂĄt adhatjuk hozzĂĄ projektĂŒnkhöz. De csak egy kell: webalkalmazĂĄs . És ezt vĂĄlasztjuk. A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 8GyƑzƑdjön meg arrĂłl, hogy a Web Application jelölƑnĂ©gyzet be van jelölve, Ă©s a fƑablak azt jelzi, hogy egy web.xml fĂĄjlt szeretnĂ©nk automatikusan lĂ©trehozni (javaslom, hogy jelölje be a jelölƑnĂ©gyzetet, ha mĂ©g nincs bejelölve). EzutĂĄn azt lĂĄtjuk, hogy a webmappa hozzĂĄadĂĄsra kerĂŒlt projektĂŒnk szerkezetĂ©hez. A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 9Ez a webprojektĂŒnk gyökere a cĂ­mmel/. MĂĄs szĂłval, ha beĂ­rjuk a böngĂ©szƑbe a ' localhost ' szĂłt (termĂ©szetesen amikor a projekt fut), akkor itt, a webprojekt gyökerĂ©ben fog kinĂ©zni. Ha beĂ­rjuk a localhost/addUser -t , akkor az addUser nevƱ erƑforrĂĄst fog keresni a webmappĂĄban .
A legfontosabb dolog, amit meg kell Ă©rtened, hogy a webmappa a projektĂŒnk gyökere, amikor a Tomcatbe helyezzĂŒk. Jelenleg van egy bizonyos mappastruktĂșrĂĄnk, de a kĂ©sz projektben, amelyet lĂ©trehozunk, ez kissĂ© mĂĄs lesz. Pontosabban, a webmappa lesz a gyökĂ©r.
A webben van egy szĂŒksĂ©ges WEB-INF mappa , ahol a web.xml fĂĄjl talĂĄlhatĂł, vagyis az, amelyet az utolsĂł lĂ©pĂ©sben a programtĂłl kĂ©rtĂŒnk. Nyissuk ki. A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 10LĂĄthatĂł, hogy nincs mĂ©g benne semmi Ă©rdekes, csak egy fejlĂ©c. EgyĂ©bkĂ©nt, ha nem kĂ©rted a fĂĄjl lĂ©trehozĂĄsĂĄt, akkor manuĂĄlisan kell lĂ©trehoznod, azaz kĂ©zzel kell kiĂ­rnod ​​az összes fejlĂ©cet. Vagy legalĂĄbb keressen egy kĂ©sz verziĂłt az interneten. Mire van szĂŒksĂ©gĂŒnk a web.xml fĂĄjlra ? A tĂ©rkĂ©pezĂ©shez. Itt Ă­rjuk le a Tomcat szĂĄmĂĄra , hogy mely URL-kĂ©rĂ©seket melyik szervleteknek kell ĂĄtadni. De erre majd kĂ©sƑbb tĂ©rĂŒnk ki. EgyelƑre hagyja ĂŒresen. A webmappa index.jsp fĂĄjlt is tartalmaz. Nyisd ki. A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 11Ez az a fĂĄjl, amely ĂșgyszĂłlvĂĄn alapĂ©rtelmezĂ©s szerint vĂ©grehajtĂłdik. MĂĄs szĂłval, pontosan ezt fogjuk lĂĄtni, amikor elindĂ­tjuk a projektet. AlapvetƑen a jsp egy közönsĂ©ges HTML-fĂĄjl , kivĂ©ve, hogy Java kĂłdot futtathat benne.

Egy kicsit a statikus Ă©s dinamikus tartalomrĂłl

A statikus tartalom olyan tartalom, amely az idƑ mĂșlĂĄsĂĄval nem vĂĄltozik. Minden, amit egy HTML-fĂĄjlba Ă­runk, vĂĄltozatlan formĂĄban jelenik meg, ahogyan meg van Ă­rva. Ha azt Ă­rjuk, hogy " hello world ", ez a szöveg azonnal megjelenik az oldal megnyitĂĄsakor, Ă©s 5 perc mĂșlva, Ă©s holnap Ă©s egy hĂ©t mĂșlva, Ă©s egy Ă©v mĂșlva. Nem fog vĂĄltozni. De mi van akkor, ha az aktuĂĄlis dĂĄtumot szeretnĂ©nk megjelenĂ­teni az oldalon? Ha csak azt Ă­rjuk, hogy " 2017. oktĂłber 27", akkor holnap ugyanazt a dĂĄtumot lĂĄtjuk, Ă©s egy hĂ©ttel kĂ©sƑbb Ă©s egy Ă©vvel kĂ©sƑbb. De szeretnĂ©nk, ha a dĂĄtum aktuĂĄlis lenne. Itt segĂ­t a kĂłd közvetlenĂŒl az oldalon törtĂ©nƑ vĂ©grehajtĂĄsĂĄnak lehetƑsĂ©ge. Kaphatunk egy dĂĄtum objektum, konvertĂĄlja a kĂ­vĂĄnt formĂĄtumra, Ă©s jelenĂ­tse meg az oldalon. EzutĂĄn minden nap, amikor megnyitjuk az oldalt, mindig aktuĂĄlis lesz a dĂĄtum Ha csak statikus tartalomra van szĂŒksĂ©gĂŒnk, akkor csak egy rendes webszerverre Ă©s HTML-fĂĄjlok. Nincs szĂŒksĂ©gĂŒnk Java-ra, Maven-re vagy Tomcat-re. De ha dinamikus tartalmat akarunk hasznĂĄlni, akkor az összes eszközre szĂŒksĂ©gĂŒnk van. De most tĂ©rjĂŒnk vissza az index.jsp- hez . JelöljĂŒnk a szokĂĄsos cĂ­men kĂ­vĂŒl mĂĄst is, pĂ©ldĂĄul: " Szuper webalkalmazĂĄsom! " Majd a törzsbe Ă­rjuk be: " Élek! " MĂĄr majdnem kĂ©szen ĂĄllunk a projektĂŒnk elindĂ­tĂĄsĂĄra! Sajnos a program indĂ­tĂĄsĂĄhoz szokĂĄsos zöld hĂĄromszög nem aktĂ­v. A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 12Kattintson a tƑle balra lĂ©vƑ gombra (amelyet a kĂ©pernyƑn egy piros nyĂ­l jelzi), Ă©s vĂĄlassza a KonfigurĂĄciĂłk szerkesztĂ©se lehetƑsĂ©get . Ekkor megnyĂ­lik egy ablak, ahol egy zöld pluszjelre kell kattintani a konfigurĂĄciĂł hozzĂĄadĂĄsĂĄhoz. Kattintson rĂĄ (az ablak bal felsƑ sarkĂĄban). A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 13VĂĄlassza a Tomcat szerver > Helyi lehetƑsĂ©get . MegnyĂ­lik egy sok lehetƑsĂ©get tartalmazĂł ablak, de az alapĂ©rtelmezettek szinte mindenre megfelelnek nekĂŒnk. A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 14A konfigurĂĄciĂłnknak szĂ©p nevet adhatunk a szabvĂĄnyos Unnamed helyett (legfelĂŒl). Azt is ellenƑriznĂŒnk kell, hogy az IDEA sikeresen megtalĂĄlta-e a Tomcatet a rendszerĂŒnkön (mĂĄr letöltötte Ă©s telepĂ­tetteaz, igaz?). Ha nem talĂĄlhatĂł (ami nem valĂłszĂ­nƱ), akkor nyomja meg a lefelĂ© mutatĂł nyilat, Ă©s vĂĄlassza ki a telepĂ­tĂ©s helyĂ©t. Vagy vĂĄlasszon mĂĄsik verziĂłt, ha egynĂ©l több van telepĂ­tve. Nekem csak egy van Ă©s mĂĄr telepĂ­tve van. EzĂ©rt nĂ©z ki Ășgy, ahogy a kĂ©pernyƑmön. Az ablak aljĂĄn pedig egy figyelmeztetĂ©st lĂĄtunk, amely arra figyelmeztet, hogy eddig nem jeleztek mƱtermĂ©keket a kiszolgĂĄlĂłn törtĂ©nƑ telepĂ­tĂ©shez. A figyelmeztetĂ©stƑl jobbra talĂĄlhatĂł egy gomb, amely a problĂ©ma javĂ­tĂĄsĂĄt javasolja. RĂĄkattintunk, Ă©s azt lĂĄtjuk, hogy az IDEA mindent meg tudott talĂĄlni magĂĄtĂłl, mindent, ami hiĂĄnyzott, magĂĄtĂłl lĂ©trehozta, Ă©s minden beĂĄllĂ­tĂĄst magĂĄtĂłl konfigurĂĄlt. A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 15LĂĄthatjuk, hogy ĂĄthelyezett minket a KiszolgĂĄlĂł laprĂłl a TelepĂ­tĂ©s lapra, a TelepĂ­tĂ©s a kiszolgĂĄlĂł indĂ­tĂĄsakor.szakaszt, Ă©s most van egy mƱtermĂŒnk, amelyet telepĂ­teni kell. Kattintson az Alkalmaz Ă©s az OK gombra. És elƑször azt lĂĄtjuk, hogy az ablak aljĂĄn megjelent egy rĂ©sz a helyi Tomcat szerverĂŒnkkel, ahol a mƱtermĂ©kĂŒnk lesz elhelyezve. ZĂĄrja össze ezt a rĂ©szt az ablak jobb oldalĂĄn talĂĄlhatĂł megfelelƑ gombra kattintva. A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 16Most lĂĄtjuk, hogy a zöld indĂ­tĂłhĂĄromszög aktĂ­v. Aki szeretne mindent duplĂĄn ellenƑrizni, kattintson a projektbeĂĄllĂ­tĂĄsok gombra (az indĂ­tĂłgomboktĂłl jobbra, piros nyĂ­llal jelezve), lĂ©pjen a MƱtermĂ©kek rĂ©szre, Ă©s ellenƑrizze, hogy valĂłban lĂ©trejött-e az artefact . Addig nem volt ott, amĂ­g meg nem nyomtuk azt a Fixetgombot, de most mĂĄr minden rendben van. És ez a konfigurĂĄciĂł tökĂ©letesen megfelel nekĂŒnk. DiĂłhĂ©jban a kĂŒlönbsĂ©g a my-super-project:war Ă©s a my-super-project:war exploded között az, hogy a my-super-project:war egyetlen hĂĄborĂșs fĂĄjlbĂłl (ami csak egy archĂ­vum) Ă©s a robbantott verziĂłbĂłl ĂĄll. egyszerƱen a "kicsomagolt" hĂĄborĂș . És szemĂ©ly szerint ez az a lehetƑsĂ©g, amit kĂ©nyelmesebbnek talĂĄlok, mert lehetƑvĂ© teszi a kisebb vĂĄltoztatĂĄsok gyors hibakeresĂ©sĂ©t a szerveren. LĂ©nyegĂ©ben a mƱtermĂ©k a mi projektĂŒnk, amelyet most fordĂ­tottunk le – Ă©s ahol a mappaszerkezet megvĂĄltozott, hogy a Tomcat közvetlenĂŒl hozzĂĄfĂ©rhessen. Valahogy Ă­gy fog kinĂ©zni:
A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 17
Most mĂĄr minden kĂ©szen ĂĄll a projektĂŒnk elindĂ­tĂĄsĂĄhoz. Nyomja meg az Ă©rtĂ©kes zöld indĂ­tĂłgombot, Ă©s Ă©lvezze az eredmĂ©nyt! :)
A legegyszerƱbb webprojekt lĂ©trehozĂĄsa az IntelliJ IDEA Enterprise-ban.  LĂ©pĂ©srƑl lĂ©pĂ©sre, kĂ©pekkel - 18
HozzĂĄszĂłlĂĄsok
  • NĂ©pszerƱ
  • Új
  • RĂ©gi
HozzĂĄszĂłlĂĄs Ă­rĂĄsĂĄhoz be kell jelentkeznie
Ennek az oldalnak még nincsenek megjegyzései