JavaRush /Java блогу /Random-KY /Java EE өнүктүрүү үчүн жергиликтүү чөйрөнү түзүү
zor07
Деңгээл
Санкт-Петербург

Java EE өнүктүрүү үчүн жергиликтүү чөйрөнү түзүү

Группада жарыяланган
Бул макалада биз Java EE тиркемелерин иштетүү үчүн жумушчу чөйрөнү орнотобуз. Эске сала кетейин: мурунку материалда биз Java EE негиздерин караганбыз . Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 1Айлана-чөйрө деп биз ар кандай программалык камсыздоо компоненттеринин жыйындысын түшүнөбүз:
  • Java EE SDK;
  • Java EE Колдонмо serverи GlassFish;
  • IntelliJ IDEA орнотулууда.
Бул материалдын негизги максаттары:
  1. Java EE тиркемелери менен иштөө үчүн жумушчу чөйрөнү кантип даярдоого болорун көрсөтүңүз.
  2. GlassFish serverинде IntelliJ IDEAдан Java EE тиркемелерин кантип жайгаштырууга жана иштетүүгө болорун көрсөтүңүз.
Бул үчүн биз эмне кылабыз:
  1. Java EE 7 SDK жүктөп алып, орнотуңуз.
  2. Келгиле, Java EE Application Server GlassFishти көтөрөлү.
  3. Келгиле, буйрук сабы аркылуу serverди кантип баштоону жана токтотууну үйрөнөлү.
  4. Келгиле, IntelliJ IDEAны бул serverге тиркемелерди жайгаштыруу үчүн конфигурациялайлы.
  5. Келгиле, GlassFish тиркеме serverи менен бирге Java EE 7 SDK камтылган демо тиркемесин орнотуп, иштетели.
Бул макала Java'да Enterprise өнүктүрүү менен таанышып жаткан Java иштеп чыгуучулары үчүн пайдалуу болот. Бул мындан аркы практика үчүн жерди бир аз даярдоо карап көрөлү. Эгер сиз негизги Windows буйрук сабы (PowerShell) көндүмдөрү менен тааныш болсоңуз, материалды түшүнөсүз. Бул макалада колдонулган программалык компоненттердин versionлары:
  • GlassFish 4.0;
  • IntelliJ IDEA 2019.3.1 (Ultimate);
  • Java EE SDK 7.

Java EE SDK орнотулууда

Маанилүү шарт. Java EE SDK орнотуудан мурун, Java SE SDK алдын ала орнотулганын текшеришиңиз керек.
  1. Биринчиден, биз SDK жүктөп алышыбыз керек. Бул үчүн сиз издөө системасына терсеңиз болот: “Java EE SDK 7”, же түздөн-түз Oracle веб-сайтынан sdk жүктөп алуу барагына өтүңүз.

  2. Берилген SDK тизмесинен платформаңызга туура келгенин тандап алышыңыз керек. Макала бөлүштүрүүнү орнотууну сүрөттөйт: "java_ee_sdk-7-jdk7-windows-x64-ml.exe"

  3. Орнотуу файлын иштетиңиз. Ишке киргизүү учурунда, төмөнкү ката пайда болушу мүмкүн (эгерде ал жок болсо, анда сиз жөн гана орнотууну уланта аласыз):

    Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 2

    Бул орнотуучу алдын ала орнотулган Java Runtime Environmentке жол таба алган жок дегенди билдирет. Ката буйрук сабын колдонуу менен JREге жолду кол менен өткөрүү менен оңдоого болот. Бул үчүн, орнотуу файлын PowerShell аркылуу иштетип, -j параметри аркылуу алдын ала орнотулган JREге жолду өткөрүп беришиңиз керек.

    Мисалы, бул сыяктуу:

    Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 3
  4. Андан ары орнотуу proceduresасы көпчүлүк программалар үчүн мүнөздүү. Сизге керек болгон нерсе - Кийинки жана Орнотуу баскычтарын чыкылdateу.

    Программа Java EE SDK, ошондой эле GlassFish serverин орнотот, ал орнотуу аяктагандан кийин иштей баштайт жана колдонууга даяр.

  5. GlassFish serverи иштеп жатканын текшерүү үчүн орнотуу аяктагандан кийин serverдин администратор панелин ачсаңыз болот, ал төмөнкү даректе жеткorктүү болот: http://localhost:4848/

    Скриншот төмөндө:

    Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 4

GlassFish баштоо жана буйрук сабы аркылуу токтотуу

Ошентип, server иштеп жатат, бирок serverди баштоо орнотуу программасы тарабынан башталган. Төмөндө биз serverди кантип баштоону жана токтотууну аныктоого аракет кылабыз. Биринчиден, мындай an objectти домен катары ачып берели. Домен бир административдик server тарабынан башкарылуучу бир же бир нече GlassFish server инстанцияларынын жыйындысы. GlassFish serverин орнотууда демейки домен түзүлөт - domain1. Төмөнкү компоненттер аны менен байланышкан:
  • Сервер порту (демейки 8080);
  • Администрация serverинин порту (демейки 4848);
  • Администратордун колдонуучу аты жана сырсөз (демейки боюнча администратор жана сырсөз талап кылынbyte).
Domain1 ага дайындалган демейки маанилерге ээ. Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 5Серверди баштоо жана токтотуу үчүн GlassFish дистрибуциясы демейки боюнча төмөнкү каталогдо жайгашкан бир нече скрипттерди камтыйт: C:\glassfish4\glassfish\bin GlassFish serverин буйрук сабы аркылуу баштоо жана токтотуу үчүн, сиз asadmin скриптин колдонсоңуз болот. жана анын буйруктары:
asadmin start-domain domain_name
asadmin stop-domain domain_name
C:\glassfish4\glassfish\bin подкаталогунан PowerShellди иштетүү менен serverди токтотууга аракет кылалы (анткени ал орнотуудан кийин иштеп жатат) : Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 6Сервер токтоп калды. Эми аны иштетели: Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 7

Биз биринчи Java EE тиркемесин талдайбыз, Dukes-age

Андан кийин биз Java EE демо тиркемесин карап чыгабыз: Dukes-age. Бул колдонмо биринчи чөйчөк колдонмосу менен бирге Java EE SDK камтылган. Бул колдонмолордун сыпаттамасы Oracle documentациясынын расмий веб-сайтында башталгыч Java EE иштеп чыгуучулары үчүн Java EE боюнча киришүү курсунун 3 жана 4 бөлүмдөрүндө берилген . Бул макалада биз Dukes-age тиркемесин кыскача карап чыгабыз жана IntelliJ IDEA иштеп чыгуу чөйрөсүнөн GlassFish serverинде бул тиркемени ишке киргизүү процессин кененирээк карап чыгабыз. Тиркеме glassfish server каталогунун ичинде жайгашкан. Эгерде сиз Java EE SDK орнотуп жатканда glassfish serverинин демейки жолун өзгөртпөсөңүз, бул тиркемени C:\glassfish4\docs\firstcup\example\dukes-age папкасынан таба аласыз . Балким, ар бир Java иштеп чыгуучусу, башталгыч жана тажрыйбалуу, жок дегенде бир жолу Java программалоо тorнин тумарын көргөн - Дюк: Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 8Дюктун туулган күнү бар экенин аз эле адамдар билет. Ал 1995-жылы 23-майда Java технологиясынын биринчи демо versionсы жарык көргөндө төрөлгөн. Dukes-age колдонмосу, аты айтып тургандай, Дюктун жашы жөнүндө маалымат берет. Келгиле, бул тиркемени IntelliJ IDEA ичинде ачалы: Файл -> Жаңы -> Учурдагы булактардан долбоор... Андан кийин демейки боюнча C:\glassfish4\docs\firstcup\example\dukes- дарегинде жайгашкан dukes-age тиркемеси бар папкага өтүңүз. age , pom.xml файлын тандап, OK баскычын чыкылдатыңыз: Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 9Төмөнкү структурадагы тиркеме ачылат: Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 10Келгиле, класстын codeун карап көрөлү 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;
    }
}
Бул бир ыкма менен JAX-RS RESTful веб кызматы - getText(). Эгер бул ыкманын codeун изилдеп көрсөңүз, бул ыкма Дюк төрөлгөндөн бери өткөн жылдардын санын кайтарары айкын болот. Башкача айтканда, ыкма Дюктун жашын кайтарат. Класс - бул REST контекстиндеги ресурс.
  1. Класстын үстүндөгү annotation @Path("dukesAge")бул класс тарабынан чалуулар иштетиле турган URI жолун аныктайт.
  2. Методдун үстүндөгү annotation @GETбул ыкма GET сурамдарын иштетээрин айтат.
  3. Аннотация @Produces("text/plain")суроо-талапка жооптун медиа түрүн көрсөтөт. getText()Метод медиа түрү менен жоопторду жаратаарын болжолдоо кыйын эмес : текст/жөнөкөй.
Ошондой эле web.xml конфигурация файлын карап көрөлү:
<?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>
Бул файлда тегтин ичинде мааниси бар servlet-mappingтег аныкталган . Бул жерде белгилүү бир түпкү чекит аныкталат, ага чалуулар кызмат тарабынан андан ары иштетилет. Эгерде annotation менен айкалышса , герцогдун жашы тууралуу маалымат алуу үчүн /webapi/dukesAge дареги менен байланышуу керек экен. url-pattern/webapi/*@Path("dukesAge")

GlassFish serverинде Java EE тиркемесин иштетүү үчүн IntelliJ IDEA орнотуу

Эми биз Dukes-age тиркемеси жөнүндө жалпы түшүнүккө ээ болгонубуздан кийин (бул тууралуу Oracle сайтынан окуңуз ), келгиле IntelliJ IDEA конфигурациялап көрөлү, биз бул тиркемени IDEден иштете алабыз. IntelliJ IDEA орнотулууда
  1. Бул үчүн, менюга өтүңүз Run -> Edit Configurations.
  2. Run/Debug Configurations панели ачылат: Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 11
  3. Биз жаңы конфигурацияны кошушубуз керек. Бул үчүн, плюс белгисин чыкылдатыңыз же Alt+Insert тез баскычын колдонуңуз. Ачылган тизмеден GlassFish Server -> Local тандаңыз: Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 12
  4. Ачылган терезеде конфигурацияны орнотууну баштайлы: Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 13
  5. Кийинки кадам serverге жайгаштырылышы керек болгон артефакттарды көрсөтүү. Муну "Орнотуу" өтмөгүнөн плюс -> Артефакт баскычын чыкылdateу аркылуу кылса болот. Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 14
  6. Dukes-age:war тандаңыз жана OK басыңыз: Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 15
  7. Андан кийин, Колдонуу жана андан кийин OK чыкылdateу менен конфигурациябызды сактаңыз.
Конфигурация түзүлдү!

Колдонмону ишке киргизүү

Эми колдонмону иштетүүгө аракет кылалы.
  1. Бул үчүн, сиз Alt+Shift+F10 ысык баскычын колдонсоңуз болот, же меню аркылуу Run -> Run...

    Жана биз түзгөн герцог курагы конфигурациясын тандаңыз:

    Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 16

  2. Андан кийин биз Кызматтар панелинен баштоо журналдарын көрөбүз:

    Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 17
  3. Андан кийин, баары көрсөтмөлөргө ылайык жасалса, браузер ачылат жана эч нерсе иштебей турганы айкын болот:

    Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 18
IT дүйнөсү ушундай. Баары туура жасалган күндө да, бир нерсе иштебей калышы мүмкүн. Бирок кабатыр болбоңуз: аны кантип туура кылуу керектигин дароо сүрөттөп бере аласыз, бирок андан кийин кээ бир нюанстар анча айкын болбойт. Мисалы, IDEA тиркемени ишке киргизүүдө бизге багыттаган url кантип түзүлөт? Ага көңүл буралы. Биз http://localhost:8080/dukes-age-7.0.1/ дарегине багытталдык . Бул кайдан пайда болгонун түшүнүү үчүн (/dukes-age-7.0.1/), келгиле GlassFish serverинин администратор панелине баралы. Сол менюда Тиркемелерди басыңыз. Андан кийин сиз орнотулган колдонмолорду, анын ичинде герцог жашын көрөсүз. Dukes-age тиркемесин тандаганыңызда, анын кээ бир мүнөздөмөлөрүн, анын ичинде Контекст-Тамыр пунктун көрө аласыз: Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 19dukes-age-7.0.1 - бул колдонмонун аты жана versionсы. Тамыр чекити. Dukes-age иштете турган бардык сурамдар /dukes-age-7.0.1/ префикси менен башталышы керек. Ошентип, бизде тамыр чекит бар: /dukes-age-7.0.1. Ошондой эле, биз буга чейин биздин колдонмо /webapi/dukesAge суроо-талаптарын аткарарын талкуулаганбыз. Келгиле, бул эки нерсени бириктирип, конфигурациябызды жаңырталы.
  1. Бул үчүн, келгиле, IntelliJ IDEAга, анан менюга кайрылалы: Run -> Edit Configurations...

  2. Мурда сакталган конфигурацияны тандап, URL дарегин төмөндөгү скриншотко ылайык жаңырталы:

    Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 20
  3. Келгиле, конфигурацияны сактап, Ctrl+Shift+F10 тез баскычын же Кызматтар панелиндеги атайын баскычты колдонуп, колдонмобузду кайра иштетели:

    Java EE өнүктүрүү үчүн жергorктүү чөйрөнү түзүү - 21
  4. Кайра иштетүүдөн кийин, баары туура аткарылса, биз Дюктун жашын көрөбүз:

    Настройка локального окружения для Java EE разработки - 22
Абдан жакшы. Акыры Дюк 24 жашта экенин билдик. Эгерде сиз 2020-жылдын апрелинен баштап кийинки эки айдын ичинде жогоруда сүрөттөлгөн бардык кадамдарды кайталабасаңыз, анда Дьюк бир аз карып калышы мүмкүн.

Корутунду

Бул макалада биз GlassFish 4.0 serverинин, IntelliJ IDEA 2019.3.1 (Ultimate) иштеп чыгуу чөйрөсүнүн, ошондой эле Java EE SDK 7 versionсынын мисалында Java EE тиркемелери менен иштөө үчүн жергorктүү чөйрөңүздү кантип конфигурациялоого болорун карап чыктык. Кантип кыла аларыңызды карап чыктык:
  • Java EE SDK, ошондой эле GlassFish serverин жүктөп алыңыз жана орнотуңуз;
  • токтотуу жана PowerShell аркылуу GlassFish serverин баштоо;
  • Java EE тиркемелерин IDEден GlassFish serverине жайгаштыруу жана аларды дароо ишке киргизүү үчүн IntelliJ IDEA конфигурациялаңыз.

Бонус тапшырма

  1. Бардык сүрөттөлгөн кадамдарды өзүңүз кайталаңыз.
  2. Oracleдан башталгыч Java EE иштеп чыгуучулары үчүн Java EE боюнча киришүү курсунан өтүңүз .
  3. Жылдызчасы бар нерсе. Экинчи биринчи чөйчөк демо тиркемесин өзүңүз жайгаштырууга аракет кылыңыз. Бул колдонмо көбүрөөк интерактивдүү жана ошондой эле герцог жашындагы тиркеме менен иштешет. Бул кадамды аяктоо үчүн сиз төмөнкү суроолорду өз алдынча түшүнүшүңүз керек:
    1. GlassFish serverинин ичиндеги маалымат базасын кантип иштетүү керек;
    2. Кантип эки тиркемени бири-бири менен интеграциялоо керек (биринчи чөйчөктүн ичинде биз бул макалада талкууланган герцог-курагы акыркы чекитине жол көрсөтүлөт);
    3. Биринчи чөйчөктү жайылтуу үчүн Intellij IDEAда жаңы конфигурацияны кантип түзүү керек (бул макалада көрсөтүлгөнгө окшош);
    4. Башка суроолор көп болушу мүмкүн)
PS Кирүү үчүн тоскоолдук жогору, бирок бул сизге түрткү эмеспи?
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION