CodeGym /Java Blog /Random /Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ ID...
John Squirrels
Antas
San Francisco

Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise. Hakbang-hakbang, na may mga larawan

Nai-publish sa grupo
Kaalaman na kinakailangan upang maunawaan ang artikulo: Mas marami o mas kaunti na ang naisip mo na ang Java Core at gusto mong tingnan ang mga teknolohiya ng JavaEE at web programming . Ito ay magiging pinaka-makatuwiran para sa iyo na kasalukuyang nag-aaral ng Java Collections quest, na tumatalakay sa mga paksang malapit sa artikulo.
Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 1
Sa kasalukuyan, gumagamit ako ng IntelliJ IDEA Enterprise Edition ( tala ng editor: ito ay isang bayad na pinalawig na bersyon ng IDE; ito ay karaniwang ginagamit sa propesyonal na pag-unlad). Mas madaling magtrabaho kasama ang mga proyekto sa web dito kaysa sa libreng Community Edition . Sa Enterprise Edition , literal na isang pag-click ng mouse ang bubuo ng proyekto, ibinabagsak ito sa isang lalagyan ng servlet, sinisimulan ang server, at nagbubukas pa ng isang webpage para sa proyekto sa browser. Sa libreng bersyon ng IDEA, kailangan mong gawin ito nang mag-isa, ibig sabihin, "manu-mano". Ginagamit ko ang Apache Mavenupang buuin ang proyekto at pamahalaan ang ikot ng buhay nito. Gumamit lamang ako ng isang maliit na bahagi ng mga kakayahan nito (pamamahala ng pakete/dependency) sa proyektong ito. Bilang servlet container/application server, pinili ko ang bersyon 9.0.12 ng Apache Tomcat.

Magsimula na tayo

Una, buksan ang IntelliJ IDEA at lumikha ng walang laman na proyekto ng Maven . Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 2Sa kaliwa, piliin ang Maven , at tingnan kung napili ang JDK ng proyekto sa itaas. Kung wala ito, pumili ng isa mula sa listahan, o i-click ang Bago ... at pumili ng isa mula sa computer. Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 3Sa window na ito, kailangan mong tukuyin ang GroupId at ArtifactId . Ang GroupId ay tumutukoy sa natatanging identifier ng kumpanyang nag-isyu ng proyekto. Ang karaniwang kasanayan ay ang paggamit ng domain name ng kumpanya, ngunit sa reverse order. Pero hindi parang salamin. Halimbawa, kung ang domain name ng kumpanya ay maven.apache.org , ang GroupId nito ay org.apache.maven. Ibig sabihin, isinusulat muna namin ang top-level na domain, magdagdag ng tuldok, pagkatapos ay ang pangalawang antas na domain, at iba pa. Ito ang pangkalahatang tinatanggap na diskarte. Kung ikaw mismo ay "giniling" ang proyekto (at hindi bilang bahagi ng isang kumpanya), pagkatapos ay ilagay mo ang iyong personal na domain name dito (sa reverse order din!). Kung mayroon ka, siyempre. :) Kung hindi, huwag mag-alala. Maaari ka talagang sumulat ng kahit ano dito .
Para sa isang kumpanyang may domain name na john.doe.org, ang GroupId ay magiging org.doe.john. Ang pagpapangalan ng convention na ito ay kinakailangan upang paghiwalayin ang magkatulad na pangalan na mga proyekto na ginawa ng iba't ibang mga kumpanya.
Sa halimbawang ito, gagamit ako ng isang kathang-isip na domain: fatlady.info.codegym.cc . Alinsunod dito, ipinasok ko ang cc.codergym.info.fatlady sa field ng GroupId . ArtifactId ay simpleng pangalan ng aming proyekto. Maaari kang gumamit ng mga titik at ilang partikular na simbolo (mga gitling, halimbawa) upang paghiwalayin ang mga salita. Ang aming "artifact" ay papangalanan nang eksakto kung ano ang isusulat namin dito. Sa halimbawang ito, gagamitin ko ang my-super-project . Huwag hawakan pa ang field ng bersyon—iwanan lang ito. Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 4At narito ang karaniwang window ng IDEA kapag gumawa ka ng bagong proyekto. Ang pagsunod sa tradisyon, tawagin natin itong my-super-project . Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 5Ang proyekto ay nilikha!
Agad na binuksan ang Pom.xml. Ito ay isang file na may mga setting ng Maven. Kung gusto naming sabihin kay Maven kung ano ang gagawin o kung saan mahahanap ang isang bagay, inilalarawan namin ang lahat ng iyon sa pom.xml file na ito. Ito ay matatagpuan sa ugat ng proyekto.
Nakikita namin na naglalaman na ito ngayon ng eksaktong data na ipinasok namin noong nililikha ang proyekto ng Maven : groupId , artifactId , at bersyon (hindi namin hinawakan ang huling iyon).

Ang istraktura ng aming proyekto

Ang proyektong ito ng Maven ay may isang tiyak na istraktura. Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 6Tulad ng nakikita mo, ang ugat ay may:
  • isang direktoryo ng .idea , na naglalaman ng mga setting ng IDEA ng kasalukuyang proyekto;
  • isang src na direktoryo, kung saan kami ay gumagawa ng aming source code;
  • isang my-super-project.iml file, na isang project file na ginawa ng IDEA;
  • ang pom.xml file (ang Maven project file na nabanggit ko kanina), na bukas na ngayon. Kung babanggitin ko ang pom.xml sa isang lugar, ito ang file na sinasabi ko.
Sa loob ng src folder, mayroong dalawang subfolder:
  • pangunahing — para sa aming code;
  • pagsubok — para sa mga pagsubok sa aming code.
Sa main at test , mayroong isang java folder. Maaari mong isipin ang mga ito bilang ang parehong folder, maliban sa isa sa pangunahing ay para sa source code, at ang isa sa pagsubok ay para sa pagsubok na code. Sa ngayon, wala kaming gamit para sa folder ng mapagkukunan . Hindi namin ito gagamitin. Pero hayaan mo na lang.

Pagbabago nito sa isang proyekto sa web

Oras na para i-convert natin ang ating Maven project sa isang web project. Upang gawin ito, i-right-click ang pangalan ng proyekto sa punong ito at piliin ang Magdagdag ng suporta sa framework ... Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 7Magbubukas ang isang window kung saan maaari kaming magdagdag ng suporta para sa iba't ibang mga frameworks sa aming proyekto. Ngunit isa lang ang kailangan namin: Web Application . Ans yan ang pipiliin namin. Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 8Tiyaking napili ang checkbox ng Web Application , at ang pangunahing window ay nagpapahiwatig na gusto naming awtomatikong malikha ang isang web.xml file (inirerekumenda kong piliin ang checkbox, kung hindi pa ito napili). Pagkatapos ay nakita namin na ang web folder ay naidagdag sa aming istraktura ng proyekto. Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 9Ito ang ugat ng aming proyekto sa web kasama ang address/. Sa madaling salita, kung ipasok natin ang ' localhost ' sa browser (kapag ang proyekto ay tumatakbo, siyempre), pagkatapos ay titingnan ito dito, sa ugat ng proyekto sa web. Kung ilalagay natin ang localhost/addUser , maghahanap ito ng resource na tinatawag na addUser sa web folder.
Ang pangunahing bagay na kailangan mong maunawaan ay ang web folder ay ang ugat ng aming proyekto kapag inilagay namin ito sa Tomcat. Mayroon kaming isang tiyak na istraktura ng folder ngayon, ngunit sa natapos na proyekto na aming gagawin, ito ay bahagyang naiiba. Sa partikular, ang web folder ang magiging ugat.
Sa web , mayroong kinakailangang folder na tinatawag na WEB-INF , kung saan matatagpuan ang web.xml file, ibig sabihin, ang hiniling naming gawin ng program sa huling hakbang. buksan natin. Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 10Makikita mo na wala pa itong kawili-wili, isang header lang. Sa pamamagitan ng paraan, kung hindi mo hiniling na malikha ang file, kakailanganin mong gawin ito nang manu-mano, ibig sabihin, i-type ang lahat ng mga header sa pamamagitan ng kamay. O, hindi bababa sa, maghanap para sa isang handa na bersyon sa Internet. Ano ang kailangan namin ng web.xml ? Para sa pagmamapa. Dito natin sasabihin para sa Tomcat kung aling URL ang hinihiling na ipasa sa kung aling mga servlet. Pero aabangan natin yan mamaya. Sa ngayon, iwanan itong walang laman. Ang web folder ay mayroon ding index.jsp file. Buksan mo. Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 11Ito ang file na isasagawa bilang default, wika nga. Sa madaling salita, ito mismo ang makikita natin kapag sinimulan natin ang proyekto. Karaniwan, ang jsp ay isang ordinaryong HTML file , maliban kung maaari mong isagawa ang Java code sa loob nito.

Medyo tungkol sa static at dynamic na nilalaman

Ang static na content ay content na hindi nagbabago sa paglipas ng panahon. Ang lahat ng isinulat namin sa isang HTML file ay ipinapakita nang hindi nagbabago, tulad ng nakasulat. Kung isusulat natin ang " hello world ", ang tekstong ito ay ipapakita sa sandaling buksan natin ang pahina, at sa loob ng 5 minuto, at bukas, at sa isang linggo, at sa isang taon. Hindi ito magbabago. Ngunit paano kung gusto naming ipakita ang kasalukuyang petsa sa pahina? Kung isusulat lang natin " October 27, 2017", pagkatapos bukas ay makikita natin ang parehong petsa, at makalipas ang isang linggo, at makalipas ang isang taon. Ngunit nais naming maging napapanahon ang petsa. Dito nakakatulong ang kakayahang magsagawa ng code sa mismong pahina. Makakakuha tayo ng isang date object, i-convert ito sa nais na format, at ipakita ito sa page. Pagkatapos, bawat araw kapag binuksan natin ang page, ang petsa ay palaging magiging kasalukuyan. Kung kailangan lang natin ng static na content, kailangan lang natin ng regular na web server at HTML file. Hindi namin kailangan ng Java, Maven, o Tomcat. Ngunit kung gusto naming gumamit ng dynamic na content, kailangan namin ang lahat ng tool na iyon. Ngunit sa ngayon, bumalik tayo sa aming index.jsp . Magpahiwatig tayo ng isang bagay maliban sa karaniwang pamagat, halimbawa, " Aking super web app! " Pagkatapos, sa katawan, isulat natin ang " Buhay ako! " Halos handa na tayong simulan ang ating proyekto! Sa kasamaang palad, ang karaniwang berdeng tatsulok para sa pagsisimula ng programa ay hindi aktibo. Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 12Mag-click sa pindutan sa kaliwa nito (ipinahiwatig sa screen na may pulang arrow) at piliin ang I-edit ang mga pagsasaayos ... Magbubukas iyon ng isang window kung saan kami ay iniimbitahan na mag-click sa isang berdeng plus sign upang magdagdag ng ilang configuration. Mag-click dito (sa kaliwang sulok sa itaas ng window). Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 13Piliin ang Tomcat Server > Local . Ang isang window na may maraming mga pagpipilian ay magbubukas, ngunit ang mga default ay angkop sa amin para sa halos lahat. Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 14Maaari naming bigyan ang aming configuration ng magandang pangalan sa halip na ang karaniwang Unnamed (sa pinakatuktok). Kailangan din naming i-verify na matagumpay na natagpuan ng IDEA ang Tomcat sa aming system ( nai-download at na-install mo naito, tama?). Kung hindi ito natagpuan (na hindi malamang), pagkatapos ay pindutin ang pababang arrow at piliin kung saan ito naka-install. O pumili ng ibang bersyon, kung mayroon kang higit sa isang naka-install. Isa lang ang meron ako at naka-install na. Iyon ang dahilan kung bakit ganito ang hitsura nito sa aking screen. At sa pinakailalim ng window, may nakikita kaming babala, na nag-aalerto sa amin na sa ngayon ay wala pang mga artifact na ipinahiwatig para sa pag-deploy sa server. Sa kanan ng babalang ito ay isang button na nagmumungkahi na ayusin namin ito. Na-click namin ito at nakitang nahanap ng IDEA ang lahat nang mag-isa, nilikha ang lahat ng nawawala nang mag-isa, at na-configure ang lahat ng mga setting nang mag-isa. Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 15Makikita natin na inilipat tayo nito mula sa tab na Server patungo sa tab na Deployment , sa ilalim ng Deploy sa server startupseksyon, at mayroon na kaming artifact na i-deploy. I-click ang Ilapat at OK. At una naming nakita na sa ibaba ng window, lumitaw ang isang seksyon kasama ang aming lokal na server ng Tomcat, kung saan ilalagay ang aming artifact. I-collapse ang seksyong ito sa pamamagitan ng pag-click sa kaukulang button sa kanang bahagi ng window. Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 16Ngayon nakita namin na ang berdeng tatsulok na paglulunsad ay aktibo. Para sa mga gustong i-double check ang lahat, maaari kang mag-click sa pindutan ng mga setting ng proyekto (sa kanan ng mga pindutan ng paglulunsad, na ipinahiwatig ng isang pulang arrow), pumunta sa seksyong Artifacts, at siguraduhin na ang artifact ay talagang nilikha . Wala iyon hanggang sa pinindot namin ang Fix na iyonbutton, ngunit ngayon ay OK na ang lahat. At ang pagsasaayos na ito ay ganap na nababagay sa amin. Sa madaling sabi, ang pagkakaiba sa pagitan ng my-super-project:war at my-super-project:war exploded ay ang my-super-project:war ay binubuo lamang ng isang war file (na isang archive lang) at ang bersyon na may exploded ay simpleng "unpacked" na digmaan . At sa personal, iyon ang opsyon na sa tingin ko ay mas maginhawa, dahil hinahayaan ka nitong mabilis na i-debug ang mga menor de edad na pagbabago sa server. Sa esensya, ang artifact ay ang aming proyekto, na pinagsama-sama lamang-at kung saan may isang istraktura ng folder ay binago upang payagan ang Tomcat na ma-access ito nang direkta. Magiging ganito ang hitsura nito:
Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 17
Ngayon ay handa na ang lahat para ilunsad ang aming proyekto. Pindutin ang mahalagang green launch button at tamasahin ang resulta! :)
Paglikha ng pinakasimpleng proyekto sa web sa IntelliJ IDEA Enterprise.  Hakbang-hakbang, na may mga larawan - 18
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION