JavaRush /Java блогу /Random-KY /IntelliJ Idea Enterprise ичинде жөнөкөй веб-долбоорду түз...
Стас Пасинков
Деңгээл
Киев

IntelliJ Idea Enterprise ичинде жөнөкөй веб-долбоорду түзүү. Кадам-кадам, сүрөттөр менен

Группада жарыяланган
Макаланы түшүнүү үчүн талап кылынган бorм деңгээли: сиз Java Core программасын аздыр-көптүр түшүндүңүз жана JavaEE технологияларын жана веб-программалоону карагыңыз келет. Эгер сиз учурда макалага жакын темаларды камтыган Java Collections квестин окуп жатсаңыз, бул абдан маанилүү. IntelliJ Idea Enterprise ичинде жөнөкөй веб-долбоорду түзүү.  Кадам-кадам, сүрөттөр менен - ​​1Мен учурда IntelliJ IDEA Enterprise Edition колдонуп жатам (бул IDEнин акы төлөнүүчү өркүндөтүлгөн versionсы, ал көбүнчө профессионалдык өнүгүүдө колдонулат - редактордун эскертүүсү ). Акысыз Community Editionге караганда веб-долбоорлор менен иштөө бир топ жеңил. Ошентип, Enterprise Edition-де, чычкандын бир чыкылdateусу менен долбоор чогулуп, сервлет контейнерине куюлат, server иштей баштайт, ал тургай браузерде иштеп жаткан долбоор бар барак ачылат. Идеянын эркин versionсында мунун көбүн өз алдынча, мындайча айтканда, “кол менен” жасоого туура келет. Мен долбоорду куруу жана анын жашоо циклин башкаруу үчүн Apache Maven колдоном. Мында мен анын мүмкүнчүлүктөрүнүн аз гана бөлүгүн колдондум (пакет/көз карандылыкты башкаруу). Мен сервлет контейнери/Колдонмо serverи катары Apache Tomcat 9.0.0.M4 versionсын тандадым. Мен мурунтан эле жаңы versionлары бар экенин билем, бирок бул мен орноткон version.

Баштайлы

Биринчиден, 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 бул жөн гана биздин долбоордун аты. Сөздөрдү бөлүү үчүн тамгаларды жана кээ бир белгилерди (мисалы, дефис) колдонсоңуз болот. Биздин "артефакт" дал ушул жерде жазгандай аталат. Бул мисалда мен өзүмдүн супер долбоорумду жазам . Азырынча version талаасына тийбейбиз, аны ошол бойдон калтырабыз.
IntelliJ Idea Enterprise ичинде жөнөкөй веб-долбоорду түзүү.  Кадам-кадам, сүрөттөр менен - ​​4
Жаңы долбоорду түзүүдө стандарттуу IDEA терезеси. Салт боюнча менин супер долбоорум деп коёлу .
IntelliJ Idea Enterprise ичинде жөнөкөй веб-долбоорду түзүү.  Кадам кадам, сүрөттөр менен - ​​5
Долбоор түзүлдү!
pom.xml файлы дароо биздин алдыбызда ачылды. Бул Maven жөндөөлөрү бар файл. Эгерде биз Mavenге эмнени жана кантип кылууну же бир нерсени кайдан алууну "айткыбыз" келсе, мунун баарын ушул pom.xml файлында сүрөттөп беребиз. Ал долбоордун түбүндө жайгашкан.
Биз анда азыр Maven долбоорун түзүүдө биз киргизген маалыматтар камтылганын көрүп жатабыз: groupId , artifactId жана version (биз акыркысына тийген жокпуз).

Биздин долбоордун структурасы

Бул Maven долбоору белгилүү бир түзүлүшкө ээ.
IntelliJ Idea Enterprise ичинде жөнөкөй веб-долбоорду түзүү.  Кадам-кадам, сүрөттөр менен - ​​6
Көрүнүп тургандай, тамырында:
  • учурдагы долбоор үчүн идея жөндөөлөрүн камтыган .idea каталогу ;
  • булактарыбызды түзгөн src каталогу ;
  • my-super-project.iml файлы , IDEA тарабынан түзүлгөн долбоор файлы;
  • pom.xml файлы , мен жогоруда айткан ошол эле Maven долбоору файлы, азыр бизде ачык. Эгерде мен кайсы бир жерде pom.xml же "pom" деп айтсам, мен бул файлды билдирем.
src папкасы өз кезегинде эки папканы камтыйт:
  • негизги - биздин code үчүн;
  • тест - биздин codeду сыноо үчүн.
Негизги жана тесттин экөө тең Java папкасына ээ . Булар бир эле папка экенин карап көрөлү, негизгиси гана баштапкы code үчүн, ал эми тесттегиси тиешелүүлүгүнө жараша сыноо codeу үчүн. Азырынча ресурстар папкасынын кереги жок, биз аны колдонбойбуз. Бирок жатып алсын.

Веб долбоорго айланууда

Мавен долбоорубузду веб-долбоорубузга айландырууга убакыт келди. Бул үчүн, бул дарактагы долбоордун атын оң баскыч менен чыкылдатып, алHowтык колдоону кошуу...
IntelliJ Idea Enterprise ичинде жөнөкөй веб-долбоорду түзүү.  Кадам кадам, сүрөттөр менен - ​​7
Терезе ачылат, анда биз долбоорбуз үчүн ар кандай алHowтарды колдоону кошо алабыз. Бирок бизге бир гана керек: Веб колдонмо . Биз аны тандайбыз.
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
Көрүнүп тургандай, анда азырынча кызыктуу эч нерсе жок, жөн гана “шляпа”. Айтмакчы, эгер биз аны түзүүнү суранбаганыбызда, аны кол менен түзүшүбүз керек болчу, башкача айтканда, бул "башты" кол менен терип, же өзгөчө учурларда Интернеттен даяр versionсын издешибиз керек болчу. . web.xml эмне үчүн ? Карталоо үчүн. Бул жерде биз Tomcatка кайсы URL сурамдарын кайсы сервлеттерге жөнөтүүнү айтып беребиз. Бирок мунун баары кийинчерээк, азырынча биз аны бош калтырабыз. Веб папкасында index.jsp деп аталган файл да бар . Келгиле, ачалы.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 11
Бул демейки боюнча аткарыла турган файл, мындайча айтканда. Башкача айтканда, долбоорду ишке киргизгенибизде, биз дал ушул нерсени көрөбүз. Чындыгында, jsp кадимки html файлы, анын айырмасы менен сиз Java codeун аткара аласыз.

Статикалык жана динамикалык мазмун жөнүндө бир аз

Статикалык мазмун - убакыттын өтүшү менен өзгөрбөгөн мазмун. html файлында биз жазгандардын баары өзгөрүүсүз көрсөтүлөт. Эгерде биз салам дүйнө деп жазган болсок, анда бул жазуу баракчаны ачарыбыз менен, 5 мүнөттөн кийин, эртең, жана бир жумадан кийин жана бир жылдан кийин көрүнөт. Ал өзгөрбөйт. Бирок биз баракчада учурдагы күндү көрсөткүбүз келсе, эмне кылышыбыз керек? Жөн эле “2017-жылдын 27-октябры” деп жазсак, эртең ошол эле датаны, бир жумадан кийин да, бир жылдан кийин да көрөбүз. Бирок мен бул датанын актуалдуу болушун каалар элем. Бул жерде кандайдыр бир codeду түздөн-түз баракчанын ичинде аткаруу мүмкүнчүлүгү бизге жардамга келет. Биз дата an objectисин алып, аны өзүбүзгө керектүү формага которуп, аны бетке көрсөтө алабыз. Анан күн сайын, биз баракчаны ачкан сайын, дата дайыма актуалдуу болуп калат. Эгерде бизге статикалык мазмун гана керек болсо, анда бизге кадимки веб-server жана html файлдары жетиштүү. Бизге Java, Maven же Tomcat керек эмес. Бирок биз динамикалык мазмунду колдонгубуз келсе, мунун баары жардамга келет. Бирок азыр index.jsp'ге кайтып келели . Келгиле, стандарттык аталыштын ордуна өзүбүзгө тиешелүү нерсени көрсөтөлү, мисалы, "Менин супер веб-тиркемеси!" жана денеге биз, мисалы, "Мен тирүүмүн!" деп жазабыз. Долбоорубузду ишке киргизүүгө дээрлик даярбыз! Бирок, тилекке каршы, программаны ишке киргизүү үчүн кадимки жашыл үч бурчтук активдүү эмес.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 12
Анын сол жагындагы кнопканы басалы (экранда кызыл жебе менен көрсөтүлгөн) жана Конфигурацияларды оңдоону тандаңыз... Конфигурациянын кандайдыр бир түрүн кошуу үчүн жашыл плюс белгисин басууну суранган терезе ачылат. Аны басыңыз, ал терезенин жогорку сол бурчунда жайгашкан.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 13
Tomcat Server пунктун жана Жергorктүү суб-пунктту тандаңыз . Ар кандай параметрлер менен терезе ачылат, бирок биз дээрлик бардыгына жана демейкиге ыраазыбыз.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 14
Биз конфигурациябызды стандарттуу Unnamedтын ордуна жакшылап атай алабыз (жогорку жакта). Ошондой эле, идея биздин системада Tomcat ийгorктүү табылганын текшерүү керек (сиз аны мурун жүктөп алып, орнотконсуз , туурабы?). Эгер аны таба албасаңыз (бул күмөндүү), ылдый жебени чыкылдатып, биз орноткон жерди, же эгер сизде алардын бир нечеси болсо, башка versionсын тандаңыз. Менде бирөө бар жана ал орнотулган, андыктан баары скриншотто көрүнөт. Ал эми терезенин эң ылдый жагында serverге жайгаштыруу үчүн арналган бир дагы артефакт жок деген эскертүү бар экенин көрөбүз. Жана бул жазуунун оң жагында бул кемчorкти оңдоону сунуш кылган баскыч бар. Биз аны басып, идеянын өзү баарын таап, баарын өзү жаратканын, эмне жетишпей жатканын жана бардык орнотууларды өзү жасаганын көрөбүз.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 15
Биз Сервер өтмөгүнөн Жайгаштыруу өтмөгүнө которулганыбызды көрүп жатабыз , Серверди ишке киргизүү бөлүмүндө бизде жайгаштырылышы керек болгон артефакт бар жана ылдыйда бул артефакт жайылтуудан мурун курула тургандыгы көрсөтүлгөн. Колдонуу, макул. Жана биз биринчиден, терезенин ылдый жагында биздин жергorктүү Tomcat serverибиз менен бөлүм пайда болгонун көрүп жатабыз, ага биздин артефакт жайгаштырылат. Терезенин оң жагындагы тиешелүү баскычты чыкылdateу менен бул бөлүмдү жыйыштыра аласыз.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 16
Биз ошондой эле ишке киргизүү үчүн жашыл үч бурчтук мурунтан эле активдүү экенин көрөбүз. Баарын текшергиси келгендер үчүн, сиз долбоордун жөндөөлөрү бар баскычты чыкылдата аласыз (ишке киргизүү баскычтарынын оң жагында, кызыл жебе менен белгиленген), Артефакттар бөлүмүнө өтүп, артефакт чындап эле түзүлгөнүн текшериңиз. Биз бул Түзөтүү баскычын басканга чейин ал жерде болгон эмес , бирок азыр баары жакшы. Жана бул конфигурация бизге абдан туура келет. Кыскача айтканда, my-super-project:war менен my-super-project:war жарылды ортосундагы айырма , менин-супер-долбоорум: согуш бир гана согуш файлын түзөт (ал жөн гана архив) жана опция менен жарылды - бул жөн гана "пакетсиз" согуш . Жана бул параметр жеке мен үчүн ыңгайлуу, анткени ал мага 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