JavaRush /Java blogi /Random-UZ /Java EE rivojlanishi uchun mahalliy muhitni o'rnatish
zor07
Daraja
Санкт-Петербург

Java EE rivojlanishi uchun mahalliy muhitni o'rnatish

Guruhda nashr etilgan
Ushbu maqolada biz Java EE ilovalarini ishga tushirish uchun ish muhitini o'rnatamiz. Sizga eslatib o'taman: oldingi materialda biz Java EE asoslarini ko'rib chiqdik . Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 1Atrof-muhit deganda biz turli xil dasturiy komponentlar to'plamini tushunamiz:
  • Java EE SDK;
  • Java EE dastur serveri GlassFish;
  • IntelliJ IDEA sozlanmoqda.
Ushbu materialning asosiy maqsadlari:
  1. Java EE ilovalari bilan ishlash uchun ish muhitini qanday tayyorlashingiz mumkinligini ko'rsating.
  2. GlassFish serverida IntelliJ IDEA-dan Java EE ilovalarini qanday joylashtirishingiz va ishga tushirishingiz mumkinligini ko'rsating.
Buning uchun biz nima qilamiz:
  1. Java EE 7 SDK ni yuklab oling va o'rnating.
  2. Keling, Java EE Application Server GlassFishni ko'taraylik.
  3. Keling, buyruq satri orqali serverni ishga tushirish va to'xtatishni o'rganamiz.
  4. IntelliJ IDEA ni ushbu serverga ilovalarni joylashtirish uchun sozlaymiz.
  5. Keling, GlassFish dastur serveri bilan birga Java EE 7 SDK tarkibiga kiritilgan demo ilovani ishga tushiramiz va ishga tushiramiz.
Ushbu maqola Java-da Enterprise rivojlanishi bilan tanishayotgan yangi Java dasturchilari uchun foydali bo'ladi. Buni keyingi amaliyot uchun zaminning ozgina tayyorgarligi deb hisoblang. Agar siz Windows-ning asosiy buyruq qatori (PowerShell) ko'nikmalarini bilsangiz, materialni tushunasiz. Ushbu maqolada ishlatiladigan dasturiy ta'minot komponentlarining versiyalari:
  • GlassFish 4.0;
  • IntelliJ IDEA 2019.3.1 (Ultimate);
  • Java EE SDK 7.

Java EE SDK o'rnatilmoqda

Muhim shart. Java EE SDK ni o'rnatishdan oldin Java SE SDK oldindan o'rnatilganligiga ishonch hosil qilishingiz kerak.
  1. Birinchidan, biz SDK-ni yuklab olishimiz kerak. Buni amalga oshirish uchun siz qidiruv tizimiga yozishingiz mumkin: "Java EE SDK 7" yoki to'g'ridan-to'g'ri Oracle veb-saytidan SDK yuklab olish sahifasiga o'ting.

  2. Taqdim etilgan SDKlar ro'yxatidan platformangizga mos keladiganini tanlashingiz kerak. Maqolada tarqatishni o'rnatish tasvirlangan: "java_ee_sdk-7-jdk7-windows-x64-ml.exe"

  3. O'rnatish faylini ishga tushiring. Ishga tushirish paytida quyidagi xatolik yuz berishi mumkin (agar u sodir bo'lmasa, siz shunchaki o'rnatishni davom ettirishingiz mumkin):

    Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 2

    Bu shuni anglatadiki, o'rnatuvchi oldindan o'rnatilgan Java Runtime Environmentga yo'lni topa olmadi. Xatoni JREga yo'lni buyruq qatori yordamida qo'lda o'tkazish orqali tuzatish mumkin. Buning uchun PowerShell orqali o'rnatish faylini ishga tushirishingiz va -j parametri orqali oldindan o'rnatilgan JREga yo'lni o'tkazishingiz kerak.

    Masalan, bu kabi:

    Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 3
  4. Keyingi o'rnatish jarayoni ko'pgina dasturlar uchun odatiy holdir. Buning uchun "Keyingi" va "O'rnatish" tugmachalarini bosish kifoya.

    Dastur Java EE SDK ni, shuningdek, o'rnatish tugallangandan so'ng ishga tushadigan va foydalanishga tayyor bo'lgan GlassFish serverini o'rnatadi.

  5. GlassFish serveri ishlayotganiga ishonch hosil qilish uchun, o'rnatish tugallangandan so'ng, serverning boshqaruv panelini ochishingiz mumkin, u quyidagi manzilda mavjud: http://localhost:4848/

    Quyidagi skrinshot:

    Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 4

GlassFish buyruq satri orqali ishga tushiriladi va to'xtatiladi

Shunday qilib, server ishlamoqda, lekin serverni ishga tushirish o'rnatish dasturi tomonidan boshlangan. Quyida biz serverni o'zingiz qanday boshlash va to'xtatishni aniqlashga harakat qilamiz. Birinchidan, domen kabi ob'ektni ochib beraylik. Domen - bu bitta ma'muriy server tomonidan boshqariladigan bir yoki bir nechta GlassFish server namunalari to'plami. GlassFish serverini o'rnatishda standart domen yaratiladi - domain1. Quyidagi komponentlar u bilan bog'liq:
  • Server porti (standart 8080);
  • Ma'muriy server porti (standart 4848);
  • Administrator foydalanuvchi nomi va paroli (standart ma'mur va parol talab qilinmaydi).
Domain1da unga belgilangan standart qiymatlar mavjud. Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 5Serverni ishga tushirish va to‘xtatish uchun GlassFish distributivi bir nechta skriptlarni o‘z ichiga oladi, ular sukut bo‘yicha quyidagi katalogda joylashgan: C:\glassfish4\glassfish\bin GlassFish serverini buyruq qatori orqali ishga tushirish va to‘xtatish uchun siz asadmin skriptidan foydalanishingiz mumkin. va uning buyruqlari:
asadmin start-domain domain_name
asadmin stop-domain domain_name
Keling , C:\glassfish4\glassfish\bin pastki katalogidan PowerShell-ni ishga tushirish orqali serverni to'xtatishga harakat qilaylik (chunki u o'rnatishdan so'ng allaqachon ishlaydi) : Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 6Server to'xtatildi. Endi uni ishga tushiramiz: Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 7

Biz birinchi Java EE ilovasini, dukes-ageni tahlil qilamiz

Keyinchalik biz Java EE demo ilovasini ko'rib chiqamiz: dukes-age. Ushbu ilova Java EE SDK ga birinchi kubok ilovasi bilan birga kiritilgan. Ushbu ilovalarning tavsiflari Oracle rasmiy hujjatlari veb-saytida yangi boshlanuvchi Java EE ishlab chiquvchilari uchun Java EE bo'yicha kirish kursining 3 va 4 bo'limlarida keltirilgan . Ushbu maqolada biz dukes-age ilovasini qisqacha ko'rib chiqamiz va IntelliJ IDEA ishlab chiqish muhitidan GlassFish serverida ushbu dasturni ishga tushirish jarayonini batafsil ko'rib chiqamiz. Ilova glassfish server katalogida joylashgan. Java EE SDK ni o'rnatishda siz glassfish serverining standart yo'lini o'zgartirmagan bo'lsangiz, ushbu ilovani quyidagi papkada topishingiz mumkin: C:\glassfish4\docs\firstcup\example\dukes-age . Ehtimol, har bir Java dasturchisi, boshlang'ich va tajribali, kamida bir marta Java dasturlash tilining maskotini ko'rgan - Dyuk: Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 8Dyukning tug'ilgan kuni borligini kam odam biladi. U 1995-yil 23-mayda, Java texnologiyasining birinchi demo versiyasi chop etilganda tug‘ilgan. Dyuks yoshi ilovasi, nomidan ko'rinib turibdiki, Dyukning yoshi haqida ma'lumot beradi. Keling, ushbu ilovani IntelliJ IDEA da ochamiz: Fayl -> Yangi -> Mavjud manbalardan loyiha... Keyin sukut bo'yicha C:\glassfish4\docs\firstcup\example\dukes- da joylashgan dukes-age ilovasi joylashgan papkaga o'ting. age , pom.xml faylini tanlang va OK tugmasini bosing: Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 9Quyidagi tuzilishga ega dastur ochiladi: Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 10Keling, sinf kodini ko'rib chiqamiz DukesAgeResource:
package firstcup.dukesage.resource;

import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

/**
 * REST Web Service
 *
 */
@Path("dukesAge")
public class DukesAgeResource {

    /** Creates a new instance of DukesAgeResource */
    public DukesAgeResource() {
    }

    /**
     * Retrieves representation of an instance of DukesAgeResource
     * @return an instance of java.lang.String
     */
    @GET
    @Produces("text/plain")
    public String getText() {
        // Create a new Calendar for Duke's birthday
        Calendar dukesBirthday = new GregorianCalendar(1995, Calendar.MAY, 23);
        // Create a new Calendar for today
        Calendar now = GregorianCalendar.getInstance();

        // Subtract today's year from Duke's birth year, 1995
        int dukesAge = now.get(Calendar.YEAR) - dukesBirthday.get(Calendar.YEAR);
        dukesBirthday.add(Calendar.YEAR, dukesAge);

        // If today's date is before May 23, subtract a year from Duke's age
        if (now.before(dukesBirthday)) {
            dukesAge--;
        }
        // Return a String representation of Duke's age
        return "" + dukesAge;
    }
}
Bu bitta usulga ega JAX-RS RESTful veb-xizmati - getText(). Agar siz ushbu usulning kodini o'rgansangiz, usul Dyuk tug'ilgandan beri o'tgan yillar sonini qaytarishi aniq bo'ladi. Ya'ni, usul Dyukning yoshini qaytaradi. Sinf - bu REST kontekstidagi resurs.
  1. Sinf ustidagi izoh @Path("dukesAge")ushbu sinf tomonidan qo'ng'iroqlar qayta ishlanadigan URI yo'lini belgilaydi.
  2. Usulning yuqoridagi izohi @GETushbu usul GET so'rovlarini qayta ishlashini aytadi.
  3. Izoh so'rovga @Produces("text/plain")javobning media turini belgilaydi. getText()Usul media tipidagi javoblarni yaratishini taxmin qilish qiyin emas : matn/tekislik.
Keling, web.xml konfiguratsiya faylini ham ko'rib chiqaylik:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <servlet>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
    </servlet>
    <servlet-mapping>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
        <url-pattern>/webapi/*</url-pattern>
    </servlet-mapping>
</web-app>
Ushbu faylda teg ichida qiymati bo'lgan servlet-mappingteg aniqlanadi . Bu erda ma'lum bir ildiz nuqtasi aniqlanadi, unga qo'ng'iroqlar xizmat tomonidan qayta ishlanadi. Agar izoh bilan birlashtirilgan bo'lsa , Dyukning yoshi haqida ma'lumot olish uchun /webapi/dukesAge manziliga murojaat qilishingiz kerak. url-pattern/webapi/*@Path("dukesAge")

GlassFish serverida Java EE ilovasini ishga tushirish uchun IntelliJ IDEA-ni sozlash

Endi bizda Dukes-age ilovasi haqida juda umumiy tasavvurga egamiz (bu haqda Oracle saytida ko'proq o'qing ), keling, IntelliJ IDEA-ni sozlaymiz, shunda biz ushbu ilovani IDE-dan ishga tushiramiz. IntelliJ IDEA sozlanmoqda
  1. Buning uchun Run -> Edit Configurations menyusiga o'ting.
  2. Run/Debug Configurations paneli ochiladi: Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 11
  3. Biz yangi konfiguratsiyani qo'shishimiz kerak. Buning uchun ortiqcha belgisini bosing yoki Alt+Insert tugmalaridan foydalaning. Ochilgan ro'yxatda GlassFish Server -> Local-ni tanlang: Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 12
  4. Ochilgan oynada konfiguratsiyani sozlashni boshlaymiz: Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 13
  5. Keyingi qadam serverga o'rnatilishi kerak bo'lgan artefaktlarni ko'rsatishdir. Buni "O'rnatish" yorlig'i orqali ortiqcha -> Artifaktni bosish orqali amalga oshirish mumkin. Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 14
  6. Dukes-age:war ni tanlang va OK tugmasini bosing: Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 15
  7. Keyin, Ilova va keyin OK ni bosish orqali konfiguratsiyamizni saqlang.
Konfiguratsiya yaratildi!

Ilova ishga tushirilmoqda

Endi dasturni ishga tushirishga harakat qilaylik.
  1. Buning uchun Alt+Shift+F10 tugmalaridan yoki “Ishga tushirish” -> “Ishga tushirish...” menyusidan foydalanishingiz mumkin.

    Va biz yaratgan gertsog yoshi konfiguratsiyasini tanlang:

    Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 16

  2. Shundan so'ng biz Xizmatlar panelida ishga tushirish jurnallarini ko'ramiz:

    Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 17
  3. Keyin, agar hamma narsa ko'rsatmalarga muvofiq amalga oshirilsa, brauzer ochiladi va hech narsa ishlamayotgani aniq bo'ladi:

    Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 18
IT dunyosi shunday. Har bir narsa to'g'ri bajarilgan bo'lsa ham, biror narsa ishlamasligi mumkin. Lekin tashvishlanmang: buni qanday qilib to'g'ri qilishni darhol tasvirlab berishingiz mumkin, ammo keyin ba'zi nuances kamroq aniq bo'ladi. Masalan, dasturni ishga tushirishda IDEA bizni yo'naltiradigan url qanday yaratiladi? Keling, bunga e'tibor beraylik. Biz http://localhost:8080/dukes-age-7.0.1/ manziliga yo'naltirildik . Bu qayerdan kelganini tushunish uchun (/dukes-age-7.0.1/), GlassFish serverining boshqaruv paneliga o'tamiz. Chapdagi menyuda Ilovalar-ni bosing. Keyinchalik siz o'rnatilgan ilovalarni, shu jumladan duke-ageni ko'rasiz. Dukes-age ilovasini tanlaganingizda, uning ba'zi xususiyatlarini, jumladan, Context-Root elementini ko'rishingiz mumkin: Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 19dukes-age-7.0.1 - bu ilovaning nomi va versiyasi. Ildiz nuqtasi. Dyuks yoshi ko'rib chiqadigan barcha so'rovlar /dukes-age-7.0.1/ prefiksi bilan boshlanishi kerak. Shunday qilib, bizda ildiz nuqtasi bor: /dukes-age-7.0.1. Bundan tashqari, biz ilgari ilovamiz /webapi/dukesAge so'rovlarini ko'rib chiqishini muhokama qilgan edik. Keling, bu ikki narsani birlashtiramiz va konfiguratsiyamizni yangilaymiz.
  1. Buning uchun IntelliJ IDEA-ga, keyin menyuga qaytaylik: Run -> Edit Configurations...

  2. Oldindan saqlangan konfiguratsiyani tanlaymiz va URL manzilini quyidagi skrinshotga muvofiq yangilaymiz:

    Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 20
  3. Keling, konfiguratsiyani saqlaymiz va Ctrl+Shift+F10 tezkor tugmasi yoki Xizmatlar panelidagi maxsus tugma yordamida ilovamizni qayta ishga tushiramiz:

    Java EE rivojlanishi uchun mahalliy muhitni o'rnatish - 21
  4. Qayta ishga tushirgandan so'ng, agar hamma narsa to'g'ri bajarilgan bo'lsa, biz Dyukning yoshini ko'ramiz:

    Настройка локального окружения для Java EE разработки - 22
Ajoyib. Biz nihoyat Dyuk 24 yoshda ekanligini bilib oldik. Agar siz 2020-yil aprel oyidan boshlab keyingi bir necha oy ichida yuqorida tavsiflangan barcha amallarni takrorlamasangiz, Dyuk biroz qariydi.

Xulosa

Ushbu maqolada biz GlassFish 4.0 serveri, IntelliJ IDEA 2019.3.1 (Ultimate) ishlab chiqish muhiti va Java EE SDK 7-versiyasi misolida Java EE ilovalari bilan ishlash uchun mahalliy muhitni qanday sozlashni ko‘rib chiqdik. qanday qilib qila olasiz:
  • Java EE SDK, shuningdek GlassFish serverini yuklab oling va o'rnating;
  • PowerShell orqali GlassFish serverini to'xtating va ishga tushiring;
  • Java EE ilovalarini IDE dan GlassFish serveriga joylashtirishingiz va ularni darhol ishga tushirishingiz uchun IntelliJ IDEA ni sozlang.

Bonusli vazifa

  1. Barcha tavsiflangan amallarni o'zingiz takrorlang.
  2. Oracle'dan Java EE dasturini yangi boshlanuvchilar uchun Java EE bo'yicha kirish kursini o'ting .
  3. Yulduzchali element. Ikkinchi birinchi kubok demo ilovasini o'zingiz joylashtirishga harakat qiling. Ushbu ilova ko'proq interaktiv bo'lib, shuningdek, duke-age ilovasi bilan o'zaro ishlaydi. Ushbu bosqichni bajarish uchun siz quyidagi savollarni mustaqil ravishda tushunishingiz kerak:
    1. GlassFish serveri ichidagi ma'lumotlar bazasini qanday yoqish mumkin;
    2. Ikki dasturni bir-biri bilan qanday integratsiya qilish kerak (birinchi stakan ichida biz ushbu maqolada muhokama qilgan gertsog yoshiga boradigan yo'lni ko'rsatadi);
    3. Birinchi kubokni joylashtirish uchun Intellij IDEA-da yangi konfiguratsiyani qanday yaratish mumkin (ushbu maqolada ko'rsatilganiga o'xshash);
    4. Boshqa ko'plab savollar bo'lishi mumkin)
PS Kirish uchun to'siq baland, lekin bu sizni undaydigan narsa emasmi?
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION