JavaRush /Java Blog /Random-TK /Java EE ösüşi üçin ýerli gurşaw gurmak
zor07
Dereje
Санкт-Петербург

Java EE ösüşi üçin ýerli gurşaw gurmak

Toparda çap edildi
Bu makalada Java EE programmalaryny işletmek üçin iş gurşawyny gurarys. Youatladýaryn, öňki materialda Java EE esaslaryny açypdyk . Java EE ösüşi üçin ýerli gurşaw gurmak - 1Daşky gurşaw boýunça dürli programma üpjünçiliginiň komponentlerini göz öňünde tutýarys:
  • Java EE SDK;
  • Java EE Programma Serweri GlassFish;
  • IntelliJ IDEA gurmak.
Bu materialyň esasy maksatlary:
  1. Java EE programmalary bilen işlemek üçin iş gurşawyny nädip taýýarlap boljakdygyny görkeziň.
  2. GlassFish serwerinde IntelliJ IDEA-dan Java EE programmalaryny nädip ýerleşdirip we işledip boljakdygyny görkeziň.
Ine, munuň üçin näme ederis:
  1. Java EE 7 SDK-ny göçürip alyň.
  2. Java EE Programma Serweri GlassFish-i göreliň.
  3. Serweriň buýruk setiri arkaly nädip başlamalydygyny we saklanmagyny öwreneliň.
  4. Geliň, bu serwere programmalary ýerleşdirmek üçin IntelliJ IDEA-ny düzeliň.
  5. Java EE 7 SDK-a girýän GlassFish amaly serweri bilen bilelikde demo programmasyny ýerleşdireliň we işledeliň.
Bu makala, Java-da Kärhananyň ösüşi bilen tanyş bolan täze döredilen Java döredijiler üçin peýdaly bolar. Geljekki tejribe üçin ýeriň azajyk taýýarlanmagyna serediň. Esasy Windows buýruk setiri (PowerShell) başarnyklary bilen tanyş bolsaňyz, materiallara düşünersiňiz. Bu makalada ulanylýan programma üpjünçiliginiň komponentleriniň wersiýalary:
  • GlassFish 4.0;
  • IntelliJ IDEA 2019.3.1 (Ultimate);
  • Java EE SDK 7.

Java EE SDK gurmak

Möhüm ýagdaý. Java EE SDK gurmazdan ozal, Java SE SDK-yň öňünden gurlandygyna göz ýetirmeli.
  1. Ilki bilen SDK-ny göçürip almaly. Munuň üçin gözleg motoryny ýazyp bilersiňiz: “Java EE SDK 7” ýa-da gönüden-göni Oracle web sahypasyndan sdk göçürip almak sahypasyna girip bilersiňiz.

  2. Berlen SDK-laryň sanawyndan platformaňyza laýyk birini saýlamaly. Makalada paýlanyşy gurnamak beýan edilýär: “java_ee_sdk-7-jdk7-windows-x64-ml.exe”

  3. Gurnama faýly işlediň. Başlangyç wagtynda aşakdaky ýalňyşlyk bolup biler (eger ýüze çykmasa, gurnamagy dowam etdirip bilersiňiz):

    Java EE ösüşi üçin ýerli gurşaw gurmak - 2

    Bu, gurnawçynyň öňünden gurlan Java Runtime gurşawyna ýol tapyp bilmeýändigini aňladýar. Erroralňyşlyk buýruk setirini ulanyp, JRE-e el bilen geçip düzedilip bilner. Munuň üçin gurnama faýlyny PowerShell arkaly işletmeli we -j parametri arkaly öňünden gurlan JRE-e geçmeli.

    Mysal üçin, şuňa meňzeş:

    Java EE ösüşi üçin ýerli gurşaw gurmak - 3
  4. Geljekki gurnama proseduralary köp programma üçin adatydyr. Etjek bolýan zadyňyz, Indiki we Gurmak düwmelerine basmak.

    Programma, Java EE SDK, şeýle hem GlassFish serwerini gurar, gurnama tamamlanandan soň işe girişer we ulanmaga taýyn bolar.

  5. GlassFish serweriniň işleýändigine göz ýetirmek üçin, gurnama işleri tamamlanandan soň, serwer administrator panelini açyp bilersiňiz: http: // localhost: 4848 /

    Aşakdaky ekran suraty:

    Java EE ösüşi üçin ýerli gurşaw gurmak - 4

GlassFish buýruk setiri arkaly başlamak we durmak

Şeýlelikde, serwer işleýär we işleýär, ýöne serwer başlangyjy gurnama programmasy bilen başlandy. Aşakda serweri nädip başlamalydygyny we duruzmalydygyny anyklamaga synanyşarys. Ilki bilen, domen ýaly bir zady açalyň. Domen, bir administrasiýa serweri tarapyndan dolandyrylýan bir ýa-da birnäçe GlassFish serwer mysallarynyň toplumydyr. GlassFish serwerini guranyňyzda, adaty bir domen döredilýär - domain1. Munuň bilen aşakdaky komponentler baglanyşdyrylýar:
  • Serwer porty (deslapky 8080);
  • Dolandyryş serwer porty (deslapky 4848);
  • Dolandyryjy ulanyjy ady we paroly (deslapky admin we asyl parol talap edilmeýär).
Domain1-iň özüne bellenen bahalary bar. Java EE ösüşi üçin ýerli gurşaw gurmak - 5Serweri işe girizmek we duruzmak üçin GlassFish paýlanyşy birnäçe skriptleri öz içine alýar, olar adaty tertipde aşakdaky katalogda ýerleşýär: C: \ glassfish4 \ glassfish \ bin GlassFish serwerini buýruk setiri arkaly başlamak we duruzmak üçin asadmin skriptini ulanyp bilersiňiz. we buýruklary:
asadmin start-domain domain_name
asadmin stop-domain domain_name
“C: \ glassfish4 \ glassfish \ bin” bukjasyndan PowerShell-i işledip, serweri duruzmaga synanyşalyň ( Java EE ösüşi üçin ýerli gurşaw gurmak - 6Serwer togtadyldy ) . Indi işledeliň: Java EE ösüşi üçin ýerli gurşaw gurmak - 7

Ilkinji Java EE programmasyny, grekleriň ýaşyny seljerýäris

Indiki Java EE demo programmasyna serederis: dukes-age. Bu programma, ilkinji kubok programmasy bilen birlikde Java EE SDK-a girýär. Bu programmalaryň beýany , täze Oracle EE döredijiler üçin Java EE-de giriş kursunyň 3-nji we 4-nji bölümlerinde resmi Oracle resminama web sahypasynda görkezilýär . Bu makalada, gersoglar döwrüniň programmasyna gysgaça serederis we IntelliJ IDEA ösüş gurşawyndan GlassFish serwerinde bu programmany işe girizmegiň işini has jikme-jik öwreneris. Programma aýna balyk serweri katalogynyň içinde ýerleşýär. Java EE SDK gurlanda aýna balyk serweri üçin deslapky ýoly üýtgetmedik bolsaňyz, bu programmany bukjada tapyp bilersiňiz: C: \ glassfish4 \ docs \ firstcup \ example \ dukes-age . Javahtimal, her bir Java dörediji, öwreniji we tejribeli, iň bolmanda bir gezek Java programmirleme diliniň maskotyny gören bolmagy mümkin - Gersog: Java EE ösüşi üçin ýerli gurşaw gurmak - 8Dýukyň doglan gününi bilýänler az. 1995-nji ýylyň 23-nji maýynda Java tehnologiýasynyň ilkinji demo wersiýasy çap edilende dünýä indi. Dýuklar ýaşy programmasy, adyndan görnüşi ýaly, Dýukyň ýaşy barada maglumat berýär. Geliň, bu programmany IntelliJ IDEA-da açalyň: Faýl -> Täze -> Bar bolan çeşmelerden taslama ... Soňra C: \ glassfish4 \ docs \ firstcup \ example \ dukes- ýaşy , pom.xml faýly saýlaň we "OK" -a basyň: Java EE ösüşi üçin ýerli gurşaw gurmak - 9Aşakdaky gurluşy bolan bir programma açylar: Java EE ösüşi üçin ýerli gurşaw gurmak - 10Geliň synp kodyna göz aýlalyň 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 bir usul bilen JAX-RS RESTful web hyzmaty - getText(). Bu usulyň koduny gözden geçirseňiz, bu usulyň Dýuk dünýä ineninden bäri geçen ýyllaryň sanyny yzyna gaýtaryp berjekdigi belli bolýar. .Agny, bu usul Dýukyň ýaşyny görkezýär. Synp REST kontekstinde çeşme.
  1. Synpyň üstündäki düşündiriş, @Path("dukesAge")jaňlaryň bu synp tarapyndan işlenjek URI ýoluny kesgitleýär.
  2. Usulyň üstündäki düşündiriş, @GETbu usulyň GET isleglerini gaýtadan işleýändigini aýdýar.
  3. Bellikde @Produces("text/plain")haýyşa jogap berişiň media görnüşi görkezilýär. getText()Usulyň media görnüşi: tekst / ýönekeý görnüşde jogap berjekdigini çaklamak kyn däl .
Şeýle hem, web.xml konfigurasiýa faýlyna göz aýlalyň:
<?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>
Bu faýlda, belligiň içinde gymmaty bolan servlet-mappingbellik kesgitlenýär . Bu ýerde belli bir kök nokady kesgitlenýär, jaňlar hyzmat tarapyndan mundan beýläk işlener. Düşündiriş bilen utgaşdyrylsa , Dýukyň ýaşy barada maglumat almak üçin adres / webapi / dukesAge ýüz tutmalydygy ýüze çykýar. url-pattern/webapi/*@Path("dukesAge")

GlassFish serwerinde Java EE programmasyny işletmek üçin IntelliJ IDEA gurmak

Dýuklar ýaşyndaky programma barada umumy düşünjämiz bar (bu hakda Oracle saýtynda has giňişleýin okaň ) , geliň, bu programmany IDE-den işletmek üçin IntelliJ IDEA-ny düzeliň. IntelliJ IDEA gurmak
  1. Munuň üçin Işlet -> Sazlamalary üýtgetmek menýusyna giriň.
  2. Işletmek / düzeltmek konfigurasiýalary paneli açylar: Java EE ösüşi üçin ýerli gurşaw gurmak - 11
  3. Täze konfigurasiýa goşmaly. Munuň üçin goşmaça belgä basyň ýa-da Alt + Insert düwmesini ulanyň. Açylýan sanawda GlassFish Server -> Localerli: saýlaň. Java EE ösüşi üçin ýerli gurşaw gurmak - 12
  4. Açylýan penjirede, konfigurasiýany gurup başlalyň: Java EE ösüşi üçin ýerli gurşaw gurmak - 13
  5. Indiki ädim, serwere ýerleşdirilmeli artefaktlary görkezmekdir. Muny “Goşma” goýmasy arkaly goşmak -> Artifact ... Java EE ösüşi üçin ýerli gurşaw gurmak - 14
  6. Dýuklar ýaşy: uruş saýlaň we OK basyň: Java EE ösüşi üçin ýerli gurşaw gurmak - 15
  7. Ondan soň, “Apply” düwmesine basyp, konfigurasiýamyzy saklaň.
Sazlama döredildi!

Programmany işe girizmek

Indi programmany işletmäge synanyşalyň.
  1. Munuň üçin “Alt + Shift + F10” düwmesini ýa-da “Run -> Run ...” menýusyndan peýdalanyp bilersiňiz.

    We döreden grekleriň ýaş konfigurasiýasyny saýlaň:

    Java EE ösüşi üçin ýerli gurşaw gurmak - 16

  2. Ondan soň Hyzmatlar panelinde başlangyç surnallaryny görýäris:

    Java EE ösüşi üçin ýerli gurşaw gurmak - 17
  3. Soňra hemme zat görkezmelere laýyklykda edilse, brauzer açylar we hiç zadyň işlemejekdigi belli bolar:

    Java EE ösüşi üçin ýerli gurşaw gurmak - 18
Bu IT dünýäsi. Hemme zat dogry edilse-de, bir zat işlemän biler. Worryöne alada etme: muny nädip dogry etmelidigini derrew suratlandyryp bilersiňiz, ýöne käbir nuanslar has düşnükli bolar. Mysal üçin, döredilen programma işe girizilende IDEA-nyň bize ugrukdyrýan url nädip? Geliň, oňa üns bereliň. Bizi http: // localhost: 8080 / dukes-age-7.0.1 / -e ugrukdyrdylar . Munuň nireden gelendigine düşünmek üçin (/dukes-age-7.0.1/), geliň, GlassFish serweriniň administrator paneline geçeliň. Çep menýuda Goýmalar basyň. Ondan soň ýerleşdirilen programmalary görersiňiz, şol sanda grekler ýaşy. Dýuklar ýaşyndaky programmany saýlanyňyzda, onuň käbir aýratynlyklaryny, şol sanda “Context-Root” elementini görüp bilersiňiz: Java EE ösüşi üçin ýerli gurşaw gurmak - 19dukes-age-7.0.1 programmanyň ady we wersiýasy. Kök nokady. Dýuklar ýaşyndaky ähli haýyşlar /dukes-age-7.0.1/ prefiksi bilen başlamaly. Şonuň üçin kök nokadymyz bar: /dukes-age-7.0.1. Mundan başga-da, ozal programmamyzyň / webapi / dukesAge haýyşlaryny ýerine ýetirjekdigini ara alyp maslahatlaşdyk. Geliň, bu iki zady birleşdirip, konfigurasiýamyzy täzeläliň.
  1. Munuň üçin IntelliJ IDEA-a, soňra bolsa menýuda dolanalyň: Işletmek -> Sazlamalary redaktirlemek ...

  2. Öň saklanan konfigurasiýany saýlalyň we aşakdaky skrinshot boýunça URL-ni täzeläliň:

    Java EE ösüşi üçin ýerli gurşaw gurmak - 20
  3. Sazlamany ýatda saklalyň we Ctrl + Shift + F10 düwmesini ulanyp ýa-da Hyzmatlar panelinde ýörite düwmäni ulanyp, programmamyzy täzeden açalyň:

    Java EE ösüşi üçin ýerli gurşaw gurmak - 21
  4. Täzeden başlandan soň, hemme zat dogry edilen bolsa, Dýukyň ýaşyny göreris:

    Настройка локального окружения для Java EE разработки - 22
Gowy. Ahyrynda Dýukyň 24 ýaşyndadygyny bildik. Aboveokarda beýan edilen ädimleriň hemmesini 2020-nji ýylyň aprel aýyndan başlap indiki iki aýyň dowamynda gaýtalamasaňyz, Dýuk belki birneme garrar.

Netije

Bu makalada, GlassFish 4.0 serweriniň, IntelliJ IDEA 2019.3.1 (Ultimate) ösüş gurşawynyň, şeýle hem Java EE SDK 7 wersiýasynyň mysalyny ulanyp, ýerli gurşawyňyzy Java EE programmalary bilen nädip sazlap boljakdygyna göz aýladyk. Nädip edip biljekdigiňize göz aýladyk:
  • Java EE SDK, şeýle hem GlassFish serwerini göçürip alyň;
  • PowerShell arkaly GlassFish serwerini duruzyň we işe giriziň;
  • Java EE programmalaryny IDE-den GlassFish serwerine ýerleşdirip, derrew işe girizip bilersiňiz, IntelliJ IDEA sazlaň.

Bonus meselesi

  1. Beýan edilen ädimleriň hemmesini özüňiz gaýtalaň.
  2. Oracle-dan başlaýan Java EE döredijiler üçin Java EE-de giriş kursyny geçiň .
  3. Teryldyzjykly element Ikinji kubok demo programmasyny özüňiz ýerleşdirmäge synanyşyň. Bu programma has interaktiw we grekler ýaşyndaky programma bilen hem täsirleşýär. Bu ädimi tamamlamak üçin aşakdaky soraglara özbaşdak düşünmeli bolarsyňyz:
    1. AýnaFish serweriniň içinde maglumat bazasyny nädip işletmeli;
    2. Iki programmany biri-biri bilen nädip birleşdirmeli (birinji käsäniň içinde bu makalada ara alyp maslahatlaşan grekleriň ýaş nokadyna barýan ýoly görkezýär);
    3. Ilkinji kubok ýerleşdirmek üçin Intellij IDEA-da täze konfigurasiýany nädip döretmeli (bu makalada görkezilişi ýaly);
    4. Mümkin başga-da köp sorag)
PS Girişdäki päsgelçilik ýokary, ýöne sizi höweslendirýän zat dälmi?
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION