JavaRush /Blog Java /Random-MS /Menyediakan persekitaran tempatan untuk pembangunan Java ...
zor07
Tahap
Санкт-Петербург

Menyediakan persekitaran tempatan untuk pembangunan Java EE

Diterbitkan dalam kumpulan
Dalam artikel ini kami akan menyediakan persekitaran kerja untuk menjalankan aplikasi Java EE. Biar saya ingatkan anda: dalam bahan sebelumnya kami membincangkan asas Java EE . Menyediakan persekitaran tempatan untuk pembangunan Java EE - 1Dengan persekitaran yang kami maksudkan adalah set pelbagai komponen perisian:
  • Java EE SDK;
  • Pelayan Aplikasi Java EE GlassFish;
  • Menyediakan IntelliJ IDEA.
Matlamat utama bahan ini:
  1. Tunjukkan cara anda boleh menyediakan persekitaran kerja untuk bekerja dengan aplikasi Java EE.
  2. Tunjukkan cara anda boleh menggunakan dan menjalankan aplikasi Java EE daripada IntelliJ IDEA pada pelayan GlassFish.
Inilah yang akan kami lakukan untuk ini:
  1. Muat turun dan pasang Java EE 7 SDK.
  2. Mari kita tingkatkan Java EE Application Server GlassFish.
  3. Mari belajar bagaimana untuk memulakan dan menghentikan pelayan melalui baris arahan.
  4. Mari kita konfigurasikan IntelliJ IDEA untuk menggunakan aplikasi ke pelayan ini.
  5. Mari gunakan dan jalankan aplikasi demo, yang, bersama-sama dengan pelayan aplikasi GlassFish, disertakan dalam Java EE 7 SDK.
Artikel ini berguna untuk pembangun Java pemula yang membiasakan diri dengan pembangunan Perusahaan di Java. Pertimbangkan ini sedikit penyediaan tanah untuk latihan selanjutnya. Anda akan memahami bahan tersebut jika anda sudah biasa dengan kemahiran asas baris arahan Windows (PowerShell). Versi komponen perisian yang digunakan dalam artikel ini:
  • GlassFish 4.0;
  • IntelliJ IDEA 2019.3.1 (Multimate);
  • Java EE SDK 7.

Memasang Java EE SDK

Syarat penting. Sebelum memasang Java EE SDK, anda perlu memastikan bahawa Java SE SDK telah diprapasang.
  1. Pertama, kita perlu memuat turun SDK. Untuk melakukan ini, anda boleh menaip enjin carian: "Java EE SDK 7", atau terus ke halaman muat turun sdk dari tapak web Oracle.

  2. Daripada senarai SDK yang disediakan, anda perlu memilih satu yang sesuai untuk platform anda. Artikel itu menerangkan pemasangan pengedaran: "java_ee_sdk-7-jdk7-windows-x64-ml.exe"

  3. Jalankan fail pemasangan. Semasa permulaan, ralat berikut mungkin berlaku (jika ia tidak berlaku, maka anda boleh teruskan dengan pemasangan):

    Menyediakan persekitaran tempatan untuk pembangunan Java EE - 2

    Ini bermakna pemasang tidak dapat mencari laluan ke Persekitaran Masa Jalan Java yang diprapasang. Ralat boleh diperbetulkan dengan menghantar laluan ke JRE secara manual menggunakan baris arahan. Untuk melakukan ini, anda perlu menjalankan fail pemasangan melalui PowerShell dan lulus laluan ke JRE prapasang melalui parameter -j.

    Sebagai contoh, seperti ini:

    Menyediakan persekitaran tempatan untuk pembangunan Java EE - 3
  4. Prosedur pemasangan selanjutnya agak tipikal untuk kebanyakan program. Apa yang anda perlu lakukan ialah klik pada butang Seterusnya dan Pasang.

    Program ini akan memasang Java EE SDK, serta pelayan GlassFish, yang, setelah selesai pemasangan, akan siap dan sedia untuk digunakan.

  5. Untuk memastikan pelayan GlassFish berfungsi, selepas pemasangan selesai, anda boleh membuka panel pentadbir pelayan, yang boleh didapati di: http://localhost:4848/

    Tangkapan skrin di bawah:

    Menyediakan persekitaran tempatan untuk pembangunan Java EE - 4

GlassFish bermula dan berhenti melalui baris arahan

Jadi, pelayan sedang aktif dan berjalan, tetapi permulaan pelayan telah dimulakan oleh program pemasangan. Di bawah ini kami akan cuba memikirkan cara untuk memulakan dan menghentikan pelayan sendiri. Mula-mula, mari kita dedahkan entiti sedemikian sebagai domain. Domain ialah satu set satu atau lebih contoh pelayan GlassFish yang diuruskan oleh satu pelayan pentadbiran. Apabila memasang pelayan GlassFish, domain lalai dibuat - domain1. Komponen berikut dikaitkan dengannya:
  • Port pelayan (lalai 8080);
  • Port pelayan pentadbiran (lalai 4848);
  • Nama pengguna dan kata laluan pentadbir (lalai ialah pentadbir dan tiada kata laluan diperlukan secara lalai).
Domain1 mempunyai nilai lalai yang diberikan kepadanya. Menyediakan persekitaran tempatan untuk pembangunan Java EE - 5Untuk memulakan dan menghentikan pelayan, pengedaran GlassFish termasuk beberapa skrip, yang secara lalai terletak dalam direktori berikut: C:\glassfish4\glassfish\bin Untuk memulakan dan menghentikan pelayan GlassFish melalui baris arahan, anda boleh menggunakan skrip asadmin dan perintahnya:
asadmin start-domain domain_name
asadmin stop-domain domain_name
Mari cuba hentikan pelayan (kerana ia sudah berjalan selepas pemasangan) dengan menjalankan PowerShell daripada subdirektori C:\glassfish4\glassfish\bin : Menyediakan persekitaran tempatan untuk pembangunan Java EE - 6Pelayan dihentikan. Sekarang mari jalankan: Menyediakan persekitaran tempatan untuk pembangunan Java EE - 7

Kami menganalisis aplikasi Java EE pertama, dukes-age

Seterusnya kita akan melihat aplikasi Java EE demo: dukes-age. Aplikasi ini disertakan dalam Java EE SDK bersama-sama dengan aplikasi cawan pertama. Penerangan mengenai aplikasi ini dibentangkan pada tapak web dokumentasi Oracle rasmi dalam bahagian 3 dan 4 kursus pengenalan tentang Java EE untuk pembangun Java EE pemula . Dalam artikel ini, kami akan melihat secara ringkas aplikasi dukes-age dan mengkaji dengan lebih terperinci proses pelancaran aplikasi ini pada pelayan GlassFish daripada persekitaran pembangunan IntelliJ IDEA. Aplikasi ini terletak di dalam direktori pelayan glassfish. Jika anda tidak menukar laluan lalai untuk pelayan glassfish semasa memasang Java EE SDK, anda boleh menemui aplikasi ini dalam folder: C:\glassfish4\docs\firstcup\example\dukes-age . Mungkin setiap pembangun Java, pemula dan berpengalaman, sekurang-kurangnya sekali melihat maskot bahasa pengaturcaraan Java - Duke: Menyediakan persekitaran tempatan untuk pembangunan Java EE - 8Sedikit orang tahu bahawa Duke mempunyai hari lahir. Beliau dilahirkan pada 23 Mei 1995, apabila versi demo pertama teknologi Java diterbitkan. Aplikasi umur dukes, seperti namanya, memberikan maklumat tentang umur Duke. Mari buka aplikasi ini dalam IntelliJ IDEA: Fail -> Baharu -> Projek Daripada Sumber Sedia Ada... Kemudian pergi ke folder dengan aplikasi dukes-age, yang terletak secara lalai di C:\glassfish4\docs\firstcup\example\dukes- age , pilih fail pom.xml dan klik OK: Menyediakan persekitaran tempatan untuk pembangunan Java EE - 9Aplikasi dengan struktur berikut akan dibuka: Menyediakan persekitaran tempatan untuk pembangunan Java EE - 10Mari kita lihat kod kelas 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;
    }
}
Ini ialah perkhidmatan web JAX-RS RESTful dengan satu kaedah - getText(). Jika anda meneliti kod kaedah ini, menjadi jelas bahawa kaedah itu mengembalikan bilangan tahun yang telah berlalu sejak kelahiran Duke. Iaitu, kaedah mengembalikan umur Duke. Kelas ialah sumber dalam konteks REST.
  1. Anotasi di atas kelas @Path("dukesAge")mentakrifkan laluan URI yang mana panggilan akan diproses oleh kelas ini.
  2. Anotasi di atas kaedah @GETmemberitahu kami bahawa kaedah ini memproses permintaan GET.
  3. Anotasi @Produces("text/plain")menentukan jenis media respons kepada permintaan. Tidak sukar untuk meneka bahawa kaedah itu getText()akan menghasilkan respons dengan jenis media: teks/biasa.
Mari kita lihat juga fail konfigurasi 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>
Dalam fail ini, di dalam teg servlet-mapping, teg url-patterndengan nilai ditakrifkan /webapi/*. Di sini titik akar tertentu ditakrifkan, panggilan yang akan diproses selanjutnya oleh perkhidmatan. Jika digabungkan dengan anotasi @Path("dukesAge"), ternyata untuk mendapatkan maklumat tentang umur Duke, anda perlu menghubungi alamat /webapi/dukesAge.

Menyediakan IntelliJ IDEA untuk menjalankan aplikasi Java EE pada pelayan GlassFish

Sekarang kita mempunyai idea yang sangat umum tentang aplikasi dukes-age (baca lebih lanjut mengenainya di tapak Oracle ), mari kita konfigurasikan IntelliJ IDEA supaya kita boleh menjalankan aplikasi ini daripada IDE kami. Menyediakan IntelliJ IDEA
  1. Untuk melakukan ini, pergi ke menu Jalankan -> Edit Konfigurasi.
  2. Panel Run/Debug Configurations akan dibuka: Menyediakan persekitaran tempatan untuk pembangunan Java EE - 11
  3. Kita perlu menambah konfigurasi baharu. Untuk melakukan ini, klik pada tanda tambah atau gunakan kekunci panas Alt+Insert. Dalam senarai yang terbuka, pilih Pelayan GlassFish -> Setempat: Menyediakan persekitaran tempatan untuk pembangunan Java EE - 12
  4. Dalam tetingkap yang terbuka, mari kita mulakan menyediakan konfigurasi: Menyediakan persekitaran tempatan untuk pembangunan Java EE - 13
  5. Langkah seterusnya adalah untuk menunjukkan artifak yang perlu digunakan ke pelayan. Ini boleh dilakukan melalui tab Deployment dengan mengklik pada tambah -> Artifak... Menyediakan persekitaran tempatan untuk pembangunan Java EE - 14
  6. Pilih dukes-age:war dan klik OK: Menyediakan persekitaran tempatan untuk pembangunan Java EE - 15
  7. Seterusnya, simpan konfigurasi kami dengan mengklik Guna dan kemudian OK.
Konfigurasi telah dibuat!

Melancarkan aplikasi

Sekarang mari cuba jalankan aplikasi.
  1. Untuk melakukan ini, anda boleh menggunakan kekunci pintas Alt+Shift+F10, atau melalui menu Run -> Run...

    Dan pilih konfigurasi dukes-age yang kami buat:

    Menyediakan persekitaran tempatan untuk pembangunan Java EE - 16

  2. Selepas ini kita melihat log permulaan dalam panel Perkhidmatan:

    Menyediakan persekitaran tempatan untuk pembangunan Java EE - 17
  3. Kemudian, jika semuanya dilakukan mengikut arahan, penyemak imbas akan dibuka dan akan menjadi jelas bahawa tiada apa yang berfungsi:

    Menyediakan persekitaran tempatan untuk pembangunan Java EE - 18
Begitulah dunia IT. Walaupun semuanya dilakukan dengan betul, sesuatu mungkin tidak berfungsi. Tetapi jangan risau: anda boleh dengan segera menerangkan cara melakukannya dengan betul, tetapi kemudian beberapa nuansa akan menjadi kurang jelas. Sebagai contoh, bagaimanakah url yang dihalakan oleh IDEA kepada kami semasa melancarkan aplikasi dihasilkan? Mari kita perhatikannya. Kami telah dialihkan ke http://localhost:8080/dukes-age-7.0.1/ . Untuk memahami dari mana asalnya (/dukes-age-7.0.1/), mari pergi ke panel pentadbir pelayan GlassFish. Dalam menu sebelah kiri, klik pada item Aplikasi. Seterusnya anda akan melihat aplikasi yang digunakan, termasuk dukes-age. Apabila anda memilih aplikasi dukes-age, anda boleh melihat beberapa cirinya, termasuk item Context-Root: Menyediakan persekitaran tempatan untuk pembangunan Java EE - 19dukes-age-7.0.1 ialah nama dan versi aplikasi. Titik akar. Semua permintaan yang akan diproses oleh dukes-age mesti bermula dengan awalan /dukes-age-7.0.1/. Jadi kita mempunyai titik akar: /dukes-age-7.0.1. Selain itu, kami sebelum ini membincangkan bahawa aplikasi kami akan mengendalikan permintaan kepada /webapi/dukesAge. Mari gabungkan dua perkara ini dan kemas kini konfigurasi kami.
  1. Untuk melakukan ini, mari kembali ke IntelliJ IDEA, kemudian ke menu: Jalankan -> Edit Konfigurasi...

  2. Mari pilih konfigurasi yang disimpan sebelum ini dan kemas kini URL mengikut tangkapan skrin di bawah:

    Menyediakan persekitaran tempatan untuk pembangunan Java EE - 20
  3. Mari simpan konfigurasi dan mulakan semula aplikasi kami menggunakan kekunci pintas Ctrl+Shift+F10, atau menggunakan butang khas pada panel Perkhidmatan:

    Menyediakan persekitaran tempatan untuk pembangunan Java EE - 21
  4. Selepas memulakan semula, jika semuanya dilakukan dengan betul, kita akan melihat umur Duke:

    Настройка локального окружения для Java EE разработки - 22
Hebat. Kami akhirnya mendapat tahu bahawa Duke berumur 24 tahun. Jika anda tidak mengulangi semua langkah yang diterangkan di atas dalam tempoh beberapa bulan akan datang, mulai April 2020, maka Duke mungkin akan berumur sedikit.

Kesimpulan

Dalam artikel ini, kami melihat cara anda boleh mengkonfigurasi persekitaran setempat anda untuk berfungsi dengan aplikasi Java EE menggunakan contoh pelayan GlassFish 4.0, persekitaran pembangunan IntelliJ IDEA 2019.3.1 (Ultimate), serta Java EE SDK versi 7. Kami melihat bagaimana anda boleh:
  • muat turun dan pasang Java EE SDK, serta pelayan GlassFish;
  • berhenti dan mulakan pelayan GlassFish melalui PowerShell;
  • konfigurasikan IntelliJ IDEA supaya anda boleh menggunakan aplikasi Java EE daripada IDE ke pelayan GlassFish dan melancarkannya dengan segera.

Tugas bonus

  1. Ulang semua langkah yang diterangkan sendiri.
  2. Ambil kursus pengenalan tentang Java EE untuk pembangun Java EE pemula dari Oracle .
  3. Item dengan asterisk. Cuba gunakan sendiri aplikasi demo cawan pertama kedua. Aplikasi ini lebih interaktif dan juga berinteraksi dengan aplikasi dukes-age. Untuk melengkapkan langkah ini, anda perlu memahami secara bebas soalan berikut:
    1. Bagaimana untuk membolehkan pangkalan data di dalam pelayan glassFish;
    2. Cara mengintegrasikan dua aplikasi antara satu sama lain (di dalam cawan pertama menunjukkan laluan ke titik akhir umur dukes, yang kita bincangkan dalam artikel ini);
    3. Cara membuat konfigurasi baharu dalam Intellij IDEA untuk penggunaan cawan pertama (sama seperti yang ditunjukkan dalam artikel ini);
    4. Mungkin banyak soalan lain)
PS Halangan untuk masuk adalah tinggi, tetapi bukankah itu yang mendorong anda?
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION