JavaRush /Blog Java /Random-PL /Konfigurowanie lokalnego środowiska do programowania Java...
zor07
Poziom 31
Санкт-Петербург

Konfigurowanie lokalnego środowiska do programowania Java EE

Opublikowano w grupie Random-PL
W tym artykule skonfigurujemy środowisko robocze do uruchamiania aplikacji Java EE. Przypomnę: w poprzednim materiale omówiliśmy podstawy Java EE . Konfigurowanie lokalnego środowiska do programowania Java EE - 1Przez środowisko rozumiemy zestaw różnych komponentów oprogramowania:
  • SDK Java EE;
  • Serwer aplikacji Java EE GlassFish;
  • Konfigurowanie IntelliJ IDEA.
Główne cele tego materiału:
  1. Pokaż jak przygotować środowisko pracy do pracy z aplikacjami Java EE.
  2. Pokaż, jak wdrażać i uruchamiać aplikacje Java EE z IntelliJ IDEA na serwerze GlassFish.
Oto, co w tym celu zrobimy:
  1. Pobierz i zainstaluj pakiet SDK Java EE 7.
  2. Podnieśmy serwer aplikacji Java EE GlassFish.
  3. Nauczmy się, jak uruchamiać i zatrzymywać serwer za pomocą wiersza poleceń.
  4. Skonfigurujmy IntelliJ IDEA do wdrażania aplikacji na tym serwerze.
  5. Wdróżmy i uruchommy aplikację demonstracyjną, która wraz z serwerem aplikacji GlassFish znajduje się w pakiecie Java EE 7 SDK.
Ten artykuł będzie przydatny dla początkujących programistów Java, którzy zapoznają się z programowaniem Enterprise w Javie. Potraktuj to jako małe przygotowanie gruntu pod dalszą praktykę. Zrozumiesz materiał, jeśli znasz podstawowe umiejętności korzystania z wiersza poleceń systemu Windows (PowerShell). Wersje komponentów oprogramowania użyte w tym artykule:
  • Szklana Ryba 4.0;
  • IntelliJ IDEA 2019.3.1 (ostateczny);
  • Pakiet SDK Java EE 7.

Instalowanie zestawu SDK Java EE

Ważny warunek. Przed zainstalowaniem pakietu Java EE SDK należy upewnić się, że pakiet Java SE SDK jest preinstalowany.
  1. Najpierw musimy pobrać SDK. Aby to zrobić, możesz wpisać w wyszukiwarkę: „Java EE SDK 7” lub bezpośrednio przejść do strony pobierania pakietu SDK ze strony internetowej Oracle.

  2. Z listy dostarczonych zestawów SDK musisz wybrać ten, który jest odpowiedni dla Twojej platformy. W artykule opisano instalację dystrybucji: „java_ee_sdk-7-jdk7-windows-x64-ml.exe”

  3. Uruchom plik instalacyjny. Podczas uruchamiania może wystąpić następujący błąd (jeśli nie wystąpi, możesz po prostu kontynuować instalację):

    Konfigurowanie lokalnego środowiska do programowania Java EE - 2

    Oznacza to, że instalator nie mógł znaleźć ścieżki do preinstalowanego środowiska Java Runtime Environment. Błąd można naprawić, przekazując ręcznie ścieżkę do środowiska JRE za pomocą wiersza poleceń. Aby to zrobić, należy uruchomić plik instalacyjny poprzez PowerShell i przekazać ścieżkę do preinstalowanego środowiska JRE za pomocą parametru -j.

    Na przykład tak:

    Konfigurowanie lokalnego środowiska do programowania Java EE - 3
  4. Dalsza procedura instalacji jest dość typowa dla większości programów. Wszystko, co musisz zrobić, to kliknąć przyciski Dalej i Zainstaluj.

    Program zainstaluje pakiet Java EE SDK oraz serwer GlassFish, który po zakończeniu instalacji będzie gotowy do użycia.

  5. Aby mieć pewność, że serwer GlassFish działa, po zakończeniu instalacji możesz otworzyć panel administracyjny serwera, który będzie dostępny pod adresem: http://localhost:4848/

    Zrzut ekranu poniżej:

    Konfigurowanie lokalnego środowiska do programowania Java EE - 4

Uruchamianie i zatrzymywanie GlassFish za pomocą wiersza poleceń

Zatem serwer działa i działa, ale jego uruchomienie zostało zainicjowane przez program instalacyjny. Poniżej postaramy się dowiedzieć, jak samodzielnie uruchomić i zatrzymać serwer. Najpierw ujawnijmy taki byt jak domenę. Domena to zbiór jednej lub więcej instancji serwera GlassFish zarządzanych przez jeden serwer administracyjny. Podczas instalacji serwera GlassFish tworzona jest domyślna domena - domena1. Związane są z nim następujące komponenty:
  • Port serwera (domyślnie 8080);
  • Port serwera administracyjnego (domyślnie 4848);
  • Nazwa użytkownika i hasło administratora (domyślnie jest to admin i domyślnie hasło nie jest wymagane).
Domena1 ma przypisane wartości domyślne. Konfigurowanie lokalnego środowiska do programowania Java EE - 5Aby uruchomić i zatrzymać serwer, dystrybucja GlassFish zawiera kilka skryptów, które domyślnie znajdują się w następującym katalogu: C:\glassfish4\glassfish\bin Aby uruchomić i zatrzymać serwer GlassFish za pomocą wiersza poleceń, możesz użyć skryptu asadmin i jego polecenia:
asadmin start-domain domain_name
asadmin stop-domain domain_name
Spróbujmy zatrzymać serwer (ponieważ jest już uruchomiony po instalacji), uruchamiając PowerShell z podkatalogu C:\glassfish4\glassfish\bin : Konfigurowanie lokalnego środowiska do programowania Java EE - 6Serwer jest zatrzymany. Teraz uruchommy to: Konfigurowanie lokalnego środowiska do programowania Java EE - 7

Analizujemy pierwszą aplikację Java EE, Dukes-Age

Następnie przyjrzymy się aplikacji demonstracyjnej Java EE: dukes-age. Ta aplikacja jest zawarta w pakiecie Java EE SDK wraz z aplikacją pierwszej filiżanki. Opisy tych aplikacji znajdują się na oficjalnej stronie internetowej z dokumentacją Oracle, w sekcjach 3 i 4 kursu wprowadzającego Java EE dla początkujących programistów Java EE . W tym artykule pokrótce przyjrzymy się aplikacji dukes-age i przeanalizujemy bardziej szczegółowo proces uruchomienia tej aplikacji na serwerze GlassFish ze środowiska deweloperskiego IntelliJ IDEA. Aplikacja znajduje się w katalogu serwera glassfish. Jeżeli podczas instalacji pakietu Java EE SDK nie zmieniłeś domyślnej ścieżki serwera glassfish, aplikację znajdziesz w folderze: C:\glassfish4\docs\firstcup\example\dukes-age . Prawdopodobnie każdy programista Java, początkujący i doświadczony, choć raz widział maskotkę języka programowania Java - Duke: Konfigurowanie lokalnego środowiska do programowania Java EE - 8Niewiele osób wie, że Duke ma urodziny. Urodził się 23 maja 1995 roku, kiedy ukazała się pierwsza wersja demonstracyjna technologii Java. Aplikacja Dukes-Age, jak sama nazwa wskazuje, dostarcza informacji o wieku Duke'a. Otwórzmy tę aplikację w IntelliJ IDEA: Plik -> Nowy -> Projekt z istniejących źródeł... Następnie przejdź do folderu z aplikacją dukes-age, domyślnie zlokalizowanego w C:\glassfish4\docs\firstcup\example\dukes- age , wybierz plik pom.xml i kliknij OK: Konfigurowanie lokalnego środowiska do programowania Java EE - 9Otworzy się aplikacja o następującej strukturze: Konfigurowanie lokalnego środowiska do programowania Java EE - 10Przyjrzyjmy się kodowi klasy 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;
    }
}
Jest to usługa internetowa JAX-RS RESTful z jedną metodą - getText(). Jeśli przeanalizujesz kod tej metody, stanie się jasne, że metoda zwraca liczbę lat, które minęły od narodzin Duke'a. Oznacza to, że metoda zwraca wiek Duke'a. Klasa jest zasobem w kontekście REST.
  1. Adnotacja nad klasą @Path("dukesAge")definiuje ścieżkę URI, do której będą przetwarzane wywołania przez tę klasę.
  2. Adnotacja nad metodą @GETinformuje nas, że metoda ta przetwarza żądania GET.
  3. Adnotacja @Produces("text/plain")określa typ nośnika odpowiedzi na żądanie. Nietrudno się domyślić, że metoda getText()będzie generować odpowiedzi z typem nośnika: tekst/zwykły.
Przyjrzyjmy się także plikowi konfiguracyjnemu 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>
W tym pliku wewnątrz znacznika zdefiniowany jest servlet-mappingznacznik url-patterno wartości /webapi/*. Tutaj zdefiniowany jest pewien punkt główny, do którego wywołania będą dalej przetwarzane przez usługę. W połączeniu z adnotacją @Path("dukesAge")okazuje się, że aby uzyskać informację o wieku Duke'a należy skontaktować się z adresem /webapi/dukesAge.

Konfigurowanie IntelliJ IDEA do uruchamiania aplikacji Java EE na serwerze GlassFish

Teraz, gdy mamy już bardzo ogólne pojęcie o aplikacji dukes-age (przeczytaj więcej na ten temat na stronie Oracle ), skonfigurujmy IntelliJ IDEA, abyśmy mogli uruchomić tę aplikację z naszego IDE. Konfigurowanie IntelliJ IDEA
  1. Aby to zrobić, przejdź do menu Uruchom -> Edytuj konfiguracje.
  2. Otworzy się panel Konfiguracje uruchamiania/debugowania: Konfigurowanie lokalnego środowiska do programowania Java EE - 11
  3. Musimy dodać nową konfigurację. Aby to zrobić, kliknij znak plus lub użyj skrótu klawiszowego Alt+Insert. Z listy, która się otworzy, wybierz Serwer GlassFish -> Lokalny: Konfigurowanie lokalnego środowiska do programowania Java EE - 12
  4. W oknie, które się otworzy, zacznijmy konfigurować konfigurację: Konfigurowanie lokalnego środowiska do programowania Java EE - 13
  5. Następnym krokiem jest wskazanie artefaktów, które będą musiały zostać wdrożone na serwerze. Można to zrobić w zakładce Wdrożenie, klikając plus -> Artefakt... Konfigurowanie lokalnego środowiska do programowania Java EE - 14
  6. Wybierz Dukes-age:war i kliknij OK: Konfigurowanie lokalnego środowiska do programowania Java EE - 15
  7. Następnie zapisz naszą konfigurację klikając Zastosuj i następnie OK.
Konfiguracja została utworzona!

Uruchomienie aplikacji

Spróbujmy teraz uruchomić aplikację.
  1. Aby to zrobić, możesz użyć skrótu klawiszowego Alt+Shift+F10 lub poprzez menu Uruchom -> Uruchom...

    I wybierz utworzoną przez nas konfigurację Dukes-Age:

    Konfigurowanie lokalnego środowiska do programowania Java EE - 16

  2. Następnie widzimy dzienniki uruchamiania w panelu Usługi:

    Konfigurowanie lokalnego środowiska do programowania Java EE - 17
  3. Następnie, jeśli wszystko zostanie wykonane zgodnie z instrukcjami, przeglądarka otworzy się i stanie się jasne, że nic nie działa:

    Konfigurowanie lokalnego środowiska do programowania Java EE - 18
Taki jest świat IT. Nawet jeśli wszystko zostanie wykonane poprawnie, coś może nie działać. Ale nie martw się: możesz od razu opisać, jak to zrobić dobrze, ale wtedy niektóre niuanse będą mniej oczywiste. Przykładowo, w jaki sposób generowany jest adres URL, na który kieruje nas IDEA podczas uruchamiania aplikacji? Zwróćmy na to uwagę. Zostaliśmy przekierowani na stronę http://localhost:8080/dukes-age-7.0.1/ . Aby zrozumieć skąd się to wzięło (/dukes-age-7.0.1/), przejdźmy do panelu administracyjnego serwera GlassFish. W lewym menu kliknij Aplikacje. Następnie zobaczysz wdrożone aplikacje, w tym Dukes-Age. Po wybraniu aplikacji dukes-age możesz zobaczyć niektóre jej cechy, w tym element kontekstowy: Konfigurowanie lokalnego środowiska do programowania Java EE - 19dukes-age-7.0.1 to nazwa i wersja aplikacji. Punkt główny. Wszystkie żądania przetwarzane przez dukes-age muszą zaczynać się od przedrostka /dukes-age-7.0.1/. Mamy więc punkt główny: /dukes-age-7.0.1. Wcześniej omawialiśmy także, że nasza aplikacja będzie obsługiwać żądania kierowane do /webapi/dukesAge. Połączmy te dwie rzeczy i zaktualizujmy naszą konfigurację.
  1. W tym celu wróćmy do IntelliJ IDEA, następnie do menu: Uruchom -> Edytuj konfiguracje...

  2. Wybierzmy wcześniej zapisaną konfigurację i zaktualizujmy adres URL zgodnie ze zrzutem ekranu poniżej:

    Konfigurowanie lokalnego środowiska do programowania Java EE - 20
  3. Zapiszmy konfigurację i zrestartujmy naszą aplikację za pomocą skrótu Ctrl+Shift+F10 lub specjalnego przycisku na panelu Usługi:

    Konfigurowanie lokalnego środowiska do programowania Java EE - 21
  4. Po ponownym uruchomieniu, jeśli wszystko zostało wykonane poprawnie, zobaczymy wiek Duke'a:

    Настройка локального окружения для Java EE разработки - 22
Świetnie. W końcu dowiedzieliśmy się, że Duke ma 24 lata. Jeśli nie powtórzysz wszystkich opisanych powyżej kroków w ciągu najbliższych kilku miesięcy, począwszy od kwietnia 2020 r., Duke prawdopodobnie trochę się zestarzeje.

Wniosek

W tym artykule przyjrzeliśmy się, jak skonfigurować środowisko lokalne do pracy z aplikacjami Java EE na przykładzie serwera GlassFish 4.0, środowiska programistycznego IntelliJ IDEA 2019.3.1 (Ultimate), a także pakietu Java EE SDK w wersji 7. Przyjrzeliśmy się, jak możesz:
  • pobierz i zainstaluj Java EE SDK, a także serwer GlassFish;
  • zatrzymaj i uruchom serwer GlassFish poprzez PowerShell;
  • skonfiguruj IntelliJ IDEA, aby móc wdrażać aplikacje Java EE z IDE na serwer GlassFish i natychmiast je uruchamiać.

Zadanie bonusowe

  1. Powtórz wszystkie opisane kroki samodzielnie.
  2. Weź udział w kursie wprowadzającym dotyczącym Java EE dla początkujących programistów Java EE firmy Oracle .
  3. Pozycja z gwiazdką. Spróbuj samodzielnie wdrożyć drugą aplikację demonstracyjną First Cup. Ta aplikacja jest bardziej interaktywna i współdziała również z aplikacją Dukes Age. Aby ukończyć ten krok, musisz samodzielnie zrozumieć następujące pytania:
    1. Jak włączyć bazę danych na serwerze glassFish;
    2. Jak zintegrować ze sobą dwie aplikacje (wewnątrz pierwszej filiżanki wskaż ścieżkę do punktu końcowego Dukes Age, o czym mówiliśmy w tym artykule);
    3. Jak utworzyć nową konfigurację w Intellij IDEA do wdrożenia pierwszego kubka (podobnie jak pokazano w tym artykule);
    4. Prawdopodobnie wiele innych pytań)
PS Bariera wejścia jest wysoka, ale czy nie to Cię motywuje?
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION