JavaRush /Java блогы /Random-KK /IntelliJ Idea Enterprise бағдарламасында қарапайым веб-жо...
Стас Пасинков
Деңгей
Киев

IntelliJ Idea Enterprise бағдарламасында қарапайым веб-жоба жасау. Біртіндеп, суреттермен

Топта жарияланған
Мақаланы түсіну үшін қажетті білім деңгейі: сіз Java Core бағдарламасын азды-көпті түсіндіңіз және JavaEE технологиялары мен веб-бағдарламалауды қарастырғыңыз келеді. Егер сіз қазір мақалаға жақын тақырыптарды қамтитын Java Collections квестін оқып жатсаңыз, бұл өте мағыналы болады. IntelliJ Idea Enterprise бағдарламасында қарапайым веб-жоба жасау.  Қадамдық, суреттермен - 1Мен қазір IntelliJ IDEA Enterprise Edition пайдаланудамын (бұл IDE ақылы кеңейтілген нұсқасы, ол әдетте кәсіби дамуда қолданылады - редактордың ескертпесі ). Tagін Community Edition нұсқасына қарағанда веб-жобалармен жұмыс істеу әлдеқайда оңай. Сонымен, Enterprise Edition-де тінтуірдің бір рет басуымен жоба жиналады, сервлет контейнеріне құйылады, server іске қосылады, тіпті браузерде іске қосылған жоба бар бет ашылады. Идеяның тегін нұсқасында мұның көп бөлігін дербес, былайша айтқанда, «қолмен» жасау керек еді. Мен жобаны құру және оның өмірлік циклін басқару үшін Apache Maven қолданамын. Бұл үшін мен оның мүмкіндіктерінің аз ғана бөлігін ғана қолдандым (пакет/тәуелділікті басқару). Мен сервлет контейнері/қолданба serverі ретінде Apache Tomcat 9.0.0.M4 нұсқасын таңдадым. Мен қазірдің өзінде жаңа нұсқалар бар екенін білемін, бірақ бұл мен орнатқан нұсқа.

Бастайық

Алдымен IntelliJ IDEA ашып, бос Maven жобасын жасайық.
IntelliJ Idea Enterprise бағдарламасында қарапайым веб-жоба жасау.  Қадамдық, суреттермен - 2
Мұнда сол жақта біз Maven таңдаймыз, жобаның JDK жоғарғы жағында көрсетілгенін тексеріңіз. Егер ол жоқ болса, тізімнен қажеттісін таңдаңыз немесе Жаңа... түймесін басып, тікелей компьютерден таңдаңыз. Терезенің ортасында менде архетиптер тізімін жүктейтін анимация бар. Бізге олар қажет емес, сондықтан жүктеп алуды күтпестен, терезенің төменгі жағындағы «Келесі» түймесін басыңыз.
IntelliJ Idea Enterprise бағдарламасында қарапайым веб-жоба жасау.  Қадамдық, суреттермен - 3
Бұл терезеде GroupId және ArtifactId көрсету керек . GroupId жобаны жасайтын компанияның бірегей идентификаторын білдіреді. Компанияның домендік атауын пайдалану әдеттегі тәжірибе, бірақ кері тәртіпте. Айна мағынасында емес, бірақ, мысалы, компанияның домендік атауы maven.apache.org болса , оның GroupId org.apache.maven болады . Яғни, алдымен бірінші деңгейлі доменді жазамыз, оны нүктемен бөлеміз, екінші деңгейлі доменнің атын жазамыз және т.б. Бұл жалпы қабылданған көзқарас. Егер сіз жобаны компанияның бөлігі ретінде емес, өз бетіңізше «қиып» жатсаңыз, жеке домендік атыңызды осы жерге жазыңыз (сонымен бірге кері тәртіпте!). Егер сізде бар болса, әрине :). Егер жоқ болса, ренжімеңіз. Шындығында, сіз мұнда кез келген нәрсені жаза аласыз .
vasya.pupkin.org домен атауы бар компания үшін GroupId org.pupkin.vasya болады. Атауларға бұл тәсіл бір атаумен, бірақ әртүрлі компаниялар шығарған жобаларды бөлу үшін қажет.
Бұл мысалда мен fatfaggy.info.javarush.ru жалған домен атауын қолданамын . Тиісінше, GroupId өрісіне ru.javarush.info.fatfaggy енгіземін . ArtefactId - бұл жай ғана жобамыздың атауы. Сөздерді бөлу үшін әріптерді және кейбір белгілерді (мысалы, сызықша) пайдалануға болады. Біздің «артефакт» дәл осы жерде жазғанымыздай аталады. Бұл мысалда мен өзімнің супер-жобамды жазамын . Әзірге нұсқа өрісіне қол тигізбейміз, оны сол күйінде қалдырамыз.
IntelliJ Idea Enterprise бағдарламасында қарапайым веб-жоба жасау.  Қадамдық, суреттермен - 4
Жаңа жобаны жасау кезінде стандартты IDEA терезесі. Дәстүр бойынша оны менің супер жобам деп атаймыз .
IntelliJ Idea Enterprise бағдарламасында қарапайым веб-жоба жасау.  Қадамдық, суреттермен - 5
Жоба жасалды!
pom.xml файлы бірден көз алдымызда ашылды. Бұл Maven параметрлері бар файл. Егер біз Мэвенге не және қалай істеу керектігін немесе бірдеңені қайдан алу керектігін «айтқымыз» келсе, мұның барлығын дәл осы pom.xml файлында сипаттаймыз. Ол жобаның түбінде орналасқан.
Мұнда қазір Maven жобасын жасау кезінде енгізілген деректердің дәл бар екенін көреміз: groupId , artifactId және нұсқасы (соңғысына қол тигізбедік).

Біздің жоба құрылымы

Бұл Maven жобасының белгілі бір құрылымы бар.
IntelliJ Idea Enterprise бағдарламасында қарапайым веб-жоба жасау.  Қадамдық, суреттермен - 6
Көріп отырғанымыздай, түбірде:
  • ағымдағы жобаға арналған идея параметрлерін қамтитын .idea каталогы ;
  • көздерімізді жасайтын src каталогы ;
  • my-super-project.iml файлы , IDEA жасаған жоба файлы;
  • pom.xml файлы , мен дәл жоғарыда айтқан, қазір бізде ашылған Maven жобасының файлы. Егер мен бір жерде pom.xml немесе «pom» деп атасам, мен осы нақты файлды айтамын.
src қалтасы өз кезегінде екі ішкі қалтаны қамтиды:
  • негізгі - біздің codeымыз үшін;
  • test - біздің codeқа арналған сынақтар үшін.
Негізгі және сынақта java қалтасы бар . Бұл бірдей қалта екенін ескеріңіз, тек негізгісі бастапқы codeқа арналған, ал сынақтағысы сәйкесінше сынақ codeына арналған. Әзірге бізге ресурстар қалтасы мүлде қажет емес, біз оны пайдаланбаймыз. Бірақ жатсын.

Веб-жобаға айналдыру

Бізге Maven жобасын веб-жобаға түрлендіру уақыты келді. Ол үшін осы ағаштағы жоба атауын тінтуірдің оң жақ түймешігімен нұқыңыз және « Қамтамалық қолдауды қосу...» таңдаңыз.
IntelliJ Idea Enterprise бағдарламасында қарапайым веб-жоба жасау.  Қадамдық, суреттермен - 7
Терезе ашылады, онда біз жобамыз үшін әртүрлі құрылымдардың барлық түрлеріне қолдауды қоса аламыз. Бірақ бізге тек біреуі керек: Веб қолданбасы . Біз оны таңдаймыз.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 8
Веб қолданбасы жанындағы құсбелгі бар екенін тексереміз және терезенің негізгі бөлігінде біз үшін web.xml файлының дереу жасалуын қалайтынымыз жазылған (ол жоқ болса, құсбелгіні қоюды ұсынамын) . Осыдан кейін біз жобамыздың құрылымы веб қалтамен толықтырылғанын көреміз .
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 9
Бұл біздің веб-жобамыздың түбірі / . Яғни, егер біз браузерге localhost мекенжайын енгізсек (оны іске қосқан кезде, әрине), онда оған дәл осы жерден, веб-жобаның түбіріне қол жеткізіледі. Егер біз localhost/addUser енгізсек, онда веб қалта addUser деп аталатын ресурсты іздейді .
Ең бастысы, біз оны Tomcat-қа жүктеген кезде веб- қалта жобамыздың түбірі екенін түсіну . Енді бізде белгілі бір қалта құрылымы бар, бірақ біз жүктеп салатын дайын жобада ол сәл өзгеше болады, ал веб- қалта сонда түбір болады.
Вебте WEB-INF деп аталатын қажетті қалта бар , онда web.xml файлы орналасқан , біз оны алдыңғы қадамда жасауды сұрадық . Оны ашайық.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 10
Көріп отырғаныңыздай, онда әлі қызықты ештеңе жоқ, тек «қалпақ». Айтпақшы, егер біз оны жасауды сұрамаған болсақ, оны қолмен жасауға тура келуі мүмкін, яғни осы «тақырыпты» қолмен теру немесе төтенше жағдайларда Интернеттен дайын нұсқаны іздеу . web.xml не үшін қажет ? Карталау үшін. Мұнда біз Tomcat-ке қандай URL сұрауларын қай сервлеттерге жіберу керектігін айтамыз. Бірақ мұның бәрі кейінірек, әзірге біз оны бос қалдырамыз. Сондай-ақ веб қалтада index.jsp деп аталатын файл бар . Оны ашайық.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 11
Бұл әдепкі бойынша орындалатын файл, былайша айтқанда. Яғни, жобаны іске қосқанда, дәл осыны көреміз. Негізінде, jsp кәдімгі html файлы болып табылады, оның айырмашылығы оның ішінде java codeын орындауға болады.

Статикалық және динамикалық мазмұн туралы аздап

Статикалық мазмұн - уақыт өте келе өзгермейтін мазмұн. html файлында жазғанның бәрі өзгеріссіз көрсетіледі. Егер біз сәлем әлем деп жазсақ, онда бұл жазу бетті ашқан бойда, және 5 minutesтан кейін, ертең, және бір аптадан кейін және бір жылдан кейін көрсетіледі. Ол өзгермейді. Бірақ бетте ағымдағы күнді көрсеткіміз келсе ше? Егер біз жай ғана «27 қазан 2017 жыл» деп жазатын болсақ, ертең біз дәл сол күнді, бір аптадан кейін және бір жылдан кейін көреміз. Бірақ мен бұл күн әлі де өзекті болғанын қалаймын. Дәл осы жерде кейбір codeты бет ішінде тікелей орындау мүмкіндігі бізге көмекке келеді. Біз күн нысанын аламыз, оны қажетті пішінге түрлендіреміз және оны бетте көрсете аламыз. Содан кейін күн сайын, біз бетті ашқан сайын, күн әрқашан өзекті болады. Егер бізге тек статикалық мазмұн керек болса, онда бізге кәдімгі веб-server және html файлдары жеткілікті. Бізге Java, Maven немесе Tomcat қажет емес. Бірақ егер біз динамикалық мазмұнды қолданғымыз келсе, мұның бәрі осы жерде пайдалы болады. Бірақ қазір index.jsp дегенге оралайық . Стандартты тақырыптың орнына өзімізге тән нәрсені көрсетейік, мысалы, «Менің супер веб-бағдарлама!» және денеде біз, мысалы, «Мен тірімін!» деп жазамыз. Біз жобамызды іске қосуға дайынбыз! Бірақ, өкінішке орай, бағдарламаны іске қосу үшін әдеттегі жасыл үшбұрыш белсенді емес.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 12
Оның сол жағындағы түймені басайық (экранда қызыл көрсеткі бар) және конфигурацияларды өңдеу пәрменін таңдаңыз... Конфигурацияның қандай да бір түрін қосу үшін жасыл плюс белгісін басу сұралатын терезе ашылады. Оны басыңыз, ол терезенің жоғарғы сол жақ бұрышында орналасқан.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 13
Tomcat Server элементін және Жергілікті ішкі элементті таңдаңыз . Көптеген әртүрлі параметрлері бар терезе ашылады, бірақ біз барлығына дерлік және әдепкіге ризамыз.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 14
Біз стандартты Unnamed орнына конфигурациямызды жақсы атай аламыз (ең жоғарғы жағында). Сондай-ақ біздің жүйеде Tomcat идеясы сәтті табылғанын тексеру қажет (сіз оны бұрын жүктеп алып, орнатқансыз , солай емес пе?). Егер сіз оны таба алмасаңыз (бұл екіталай), төмен көрсеткіні басып, бізде орнатылған жерді немесе олардың бірнешеуі болса, басқа нұсқаны таңдаңыз. Менде біреуі бар және ол орнатылған, сондықтан бәрі скриншоттағы сияқты. Терезенің ең төменгі жағында serverге орналастыруға арналған бірде-бір артефакт жоқ екендігі туралы ескерту бар екенін көреміз. Және бұл жазудың оң жағында осы ақауды түзетуді ұсынатын түйме бар. Біз оны басып, идеяның өзі бәрін тапқанын, бәрін өзі жасағанын, не жетіспейтінін және барлық параметрлерді өзі жасағанын көреміз.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 15
Біз Сервер қойындысынан Орналастыру қойындысына тасымалданғанымызды көреміз , Серверді іске қосу кезінде қолдану бөлімінде бізде орналастыру қажет артефакт бар және төменде бұл артефакт орналастыруға дейін құрастырылатыны көрсетілген. Өтініш беріңіз, Жарайды. Біз біріншіден, терезенің төменгі жағында жергілікті Tomcat serverі бар бөлім пайда болғанын көріп отырмыз, оған біздің артефакт орналастырылады. Терезенің оң жағындағы сәйкес түймені басу арқылы бұл бөлімді жиюге болады.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 16
Біз сондай-ақ ұшыруға арналған жасыл үшбұрыштың белсенді екенін көреміз. Барлығын тексергісі келетіндер үшін жоба параметрлері бар түймені басуға болады (іске қосу түймелерінің оң жағында, қызыл көрсеткімен белгіленген), Артефактілер бөліміне өтіп , артефакт шынымен жасалғанына көз жеткізіңіз. Біз бұл Түзету түймесін басқанға дейін ол болған жоқ , бірақ қазір бәрі жақсы. Және бұл конфигурация бізге өте жақсы сәйкес келеді. Қысқаша айтқанда, my-super-project:war және my-super-project:war жарылды арасындағы айырмашылық мынада: my-super-project:war тек бір соғыс файлын жасайды (бұл жай мұрағат) және опциясы бар. exploded - бұл жай ғана «оралмаған» соғыс . Және бұл опция мен үшін ыңғайлырақ, өйткені ол serverге шағын өзгерістерді жылдам енгізуге мүмкіндік береді. Шындығында, артефакт - бұл біздің жоба, тек құрастырылған және оны тікелей Tomcat-қа жүктеп салуға болатындай қалта құрылымы өзгертілген. Ол келесідей болады:
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 17
Енді біздің жобаны іске қосу үшін бәрі дайын. Біз қалаған жасыл бастау түймесін басып, нәтижеден ләззат аламыз! :)
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 18
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION