JavaRush /Java Blog /Random-ID /Menyiapkan lingkungan lokal untuk pengembangan Java EE
zor07
Level 31
Санкт-Петербург

Menyiapkan lingkungan lokal untuk pengembangan Java EE

Dipublikasikan di grup Random-ID
Pada artikel ini kita akan menyiapkan lingkungan kerja untuk menjalankan aplikasi Java EE. Izinkan saya mengingatkan Anda: pada materi sebelumnya kita telah membahas dasar-dasar Java EE . Menyiapkan lingkungan lokal untuk pengembangan Java EE - 1Yang kami maksud dengan lingkungan adalah sekumpulan berbagai komponen perangkat lunak:
  • SDK Java EE;
  • Server Aplikasi Java EE GlassFish;
  • Menyiapkan IntelliJ IDEA.
Tujuan utama dari materi ini:
  1. Tunjukkan bagaimana Anda dapat mempersiapkan lingkungan kerja untuk bekerja dengan aplikasi Java EE.
  2. Tunjukkan bagaimana Anda dapat menyebarkan dan menjalankan aplikasi Java EE dari IntelliJ IDEA di server GlassFish.
Inilah yang akan kami lakukan untuk ini:
  1. Unduh dan instal Java EE 7 SDK.
  2. Mari kita angkat GlassFish Server Aplikasi Java EE.
  3. Mari pelajari cara memulai dan menghentikan server melalui baris perintah.
  4. Mari konfigurasikan IntelliJ IDEA untuk menyebarkan aplikasi ke server ini.
  5. Mari kita terapkan dan jalankan aplikasi demo, yang bersama dengan server aplikasi GlassFish, disertakan dalam Java EE 7 SDK.
Artikel ini akan bermanfaat bagi pengembang Java pemula yang mulai mengenal pengembangan Perusahaan di Java. Anggap saja ini sedikit persiapan untuk latihan lebih lanjut. Anda akan memahami materi jika Anda terbiasa dengan keterampilan dasar baris perintah Windows (PowerShell). Versi komponen perangkat lunak yang digunakan dalam artikel ini:
  • Ikan Kaca 4.0;
  • IntelliJ IDEA 2019.3.1 (Ultimate);
  • Java EE SDK 7.

Menginstal Java EE SDK

Kondisi penting. Sebelum menginstal Java EE SDK, Anda harus memastikan bahwa Java SE SDK sudah diinstal sebelumnya.
  1. Pertama, kita perlu mengunduh SDK. Untuk melakukannya, Anda dapat mengetik di mesin pencari: “Java EE SDK 7”, atau langsung membuka halaman download SDK dari situs Oracle.

  2. Dari daftar SDK yang disediakan, Anda harus memilih salah satu yang sesuai untuk platform Anda. Artikel ini menjelaskan cara menginstal distribusi: “java_ee_sdk-7-jdk7-windows-x64-ml.exe”

  3. Jalankan file instalasi. Saat startup, kesalahan berikut mungkin terjadi (jika tidak terjadi, Anda dapat melanjutkan instalasi):

    Menyiapkan lingkungan lokal untuk pengembangan Java EE - 2

    Ini berarti penginstal tidak dapat menemukan jalur ke Java Runtime Environment yang sudah diinstal sebelumnya. Kesalahan dapat diperbaiki dengan meneruskan jalur ke JRE secara manual menggunakan baris perintah. Untuk melakukan ini, Anda perlu menjalankan file instalasi melalui PowerShell dan meneruskan jalur ke JRE yang sudah diinstal sebelumnya melalui parameter -j.

    Misalnya seperti ini:

    Menyiapkan lingkungan lokal untuk pengembangan Java EE - 3
  4. Prosedur instalasi selanjutnya cukup umum untuk sebagian besar program. Yang perlu Anda lakukan adalah mengklik tombol Berikutnya dan Instal.

    Program ini akan menginstal Java EE SDK, serta server GlassFish, yang setelah instalasi selesai, akan aktif dan siap digunakan.

  5. Untuk memastikan server GlassFish berfungsi, setelah instalasi selesai, Anda dapat membuka panel admin server yang dapat diakses di: http://localhost:4848/

    Tangkapan layar di bawah ini:

    Menyiapkan lingkungan lokal untuk pengembangan Java EE - 4

GlassFish memulai dan berhenti melalui baris perintah

Jadi, server aktif dan berjalan, namun permulaan server dimulai oleh program instalasi. Di bawah ini kami akan mencoba mencari cara untuk memulai dan menghentikan server sendiri. Pertama, mari kita ungkapkan entitas seperti domain. Domain adalah sekumpulan satu atau lebih server GlassFish yang dikelola oleh satu server administrasi. Saat memasang server GlassFish, domain default dibuat - domain1. Komponen-komponen berikut terkait dengannya:
  • Port server (standarnya 8080);
  • Port server administrasi (default 4848);
  • Nama pengguna dan kata sandi administrator (defaultnya adalah admin dan tidak diperlukan kata sandi secara default).
Domain1 memiliki nilai default yang ditetapkan padanya. Menyiapkan lingkungan lokal untuk pengembangan Java EE - 5Untuk memulai dan menghentikan server, distribusi GlassFish menyertakan beberapa skrip, yang secara default terletak di direktori berikut: C:\glassfish4\glassfish\bin Untuk memulai dan menghentikan server GlassFish melalui baris perintah, Anda dapat menggunakan skrip asadmin dan perintahnya:
asadmin start-domain domain_name
asadmin stop-domain domain_name
Mari kita coba menghentikan server (karena sudah berjalan setelah instalasi) dengan menjalankan PowerShell dari subdirektori C:\glassfish4\glassfish\bin : Menyiapkan lingkungan lokal untuk pengembangan Java EE - 6Server dihentikan. Sekarang mari kita jalankan: Menyiapkan lingkungan lokal untuk pengembangan Java EE - 7

Kami menganalisis aplikasi Java EE pertama, dukes-age

Selanjutnya kita akan melihat demo aplikasi Java EE: dukes-age. Aplikasi ini disertakan dalam Java EE SDK bersama dengan aplikasi cangkir pertama. Deskripsi aplikasi ini disajikan di situs dokumentasi resmi Oracle di bagian 3 dan 4 kursus pengantar Java EE untuk pengembang Java EE pemula . Pada artikel ini, kita akan melihat secara singkat aplikasi dukes-age dan memeriksa lebih detail proses peluncuran aplikasi ini di server GlassFish dari lingkungan pengembangan IntelliJ IDEA. Aplikasi ini terletak di dalam direktori server glassfish. Jika Anda tidak mengubah jalur default untuk server glassfish saat menginstal Java EE SDK, Anda dapat menemukan aplikasi ini di folder: C:\glassfish4\docs\firstcup\example\dukes-age . Mungkin setiap developer Java, baik pemula maupun berpengalaman, setidaknya pernah melihat maskot bahasa pemrograman Java - Duke: Menyiapkan lingkungan lokal untuk pengembangan Java EE - 8Hanya sedikit orang yang tahu bahwa Duke berulang tahun. Ia lahir pada tanggal 23 Mei 1995, ketika versi demo pertama teknologi Java diterbitkan. Aplikasi Dukes-age, seperti namanya, memberikan informasi tentang usia Duke. Mari kita buka aplikasi ini di IntelliJ IDEA: File -> New -> Project From Existing Sources... Lalu masuk ke folder dengan aplikasi dukes-age, yang secara default terletak di C:\glassfish4\docs\firstcup\example\dukes- age , pilih file pom.xml dan klik OK: Menyiapkan lingkungan lokal untuk pengembangan Java EE - 9Aplikasi dengan struktur berikut akan terbuka: Menyiapkan lingkungan lokal untuk pengembangan Java EE - 10Mari kita lihat kode kelasnya 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 adalah layanan web JAX-RS RESTful dengan satu metode - getText(). Jika Anda memeriksa kode metode ini, menjadi jelas bahwa metode tersebut mengembalikan jumlah tahun yang telah berlalu sejak kelahiran Duke. Artinya, metode tersebut mengembalikan usia Duke. Kelas adalah sumber daya dalam konteks REST.
  1. Anotasi di atas kelas @Path("dukesAge")mendefinisikan jalur URI ke mana panggilan akan diproses oleh kelas ini.
  2. Anotasi di atas metode ini @GETmemberi tahu kita bahwa metode ini memproses permintaan GET.
  3. Anotasi @Produces("text/plain")menentukan jenis media respons terhadap permintaan. Tidak sulit untuk menebak bahwa metode tersebut getText()akan menghasilkan respon dengan jenis media: teks/polos.
Mari kita lihat juga file 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 file ini, di dalam tag servlet-mapping, tag url-patterndengan nilai ditentukan /webapi/*. Di sini titik akar tertentu ditentukan, panggilan yang akan diproses lebih lanjut oleh layanan. Jika digabungkan dengan anotasi @Path("dukesAge"), ternyata untuk mendapatkan informasi mengenai umur Duke, Anda perlu menghubungi alamat /webapi/dukesAge.

Menyiapkan IntelliJ IDEA untuk menjalankan aplikasi Java EE di server GlassFish

Sekarang kita memiliki gambaran umum tentang aplikasi dukes-age (baca selengkapnya di situs Oracle ), mari konfigurasikan IntelliJ IDEA sehingga kita dapat menjalankan aplikasi ini dari IDE kita. Menyiapkan IntelliJ IDEA
  1. Untuk melakukan ini, buka menu Jalankan -> Edit Konfigurasi.
  2. Panel Konfigurasi Jalankan/Debug akan terbuka: Menyiapkan lingkungan lokal untuk pengembangan Java EE - 11
  3. Kita perlu menambahkan konfigurasi baru. Untuk melakukannya, klik tanda tambah, atau gunakan tombol pintas Alt+Sisipkan. Dalam daftar yang terbuka, pilih Server GlassFish -> Lokal: Menyiapkan lingkungan lokal untuk pengembangan Java EE - 12
  4. Di jendela yang terbuka, mari mulai mengatur konfigurasi: Menyiapkan lingkungan lokal untuk pengembangan Java EE - 13
  5. Langkah selanjutnya adalah menunjukkan artefak yang perlu disebarkan ke server. Ini dapat dilakukan melalui tab Deployment dengan mengklik tanda plus -> Artefak... Menyiapkan lingkungan lokal untuk pengembangan Java EE - 14
  6. Pilih dukes-age:war dan klik OK: Menyiapkan lingkungan lokal untuk pengembangan Java EE - 15
  7. Selanjutnya simpan konfigurasi kita dengan mengklik Apply lalu OK.
Konfigurasi telah dibuat!

Meluncurkan aplikasi

Sekarang mari kita coba jalankan aplikasinya.
  1. Untuk melakukannya, Anda dapat menggunakan hotkey Alt+Shift+F10, atau melalui menu Run -> Run...

    Dan pilih konfigurasi dukes-age yang kami buat:

    Menyiapkan lingkungan lokal untuk pengembangan Java EE - 16

  2. Setelah ini kita melihat log startup di panel Layanan:

    Menyiapkan lingkungan lokal untuk pengembangan Java EE - 17
  3. Kemudian, jika semuanya dilakukan sesuai petunjuk, browser akan terbuka dan menjadi jelas bahwa tidak ada yang berfungsi:

    Menyiapkan lingkungan lokal untuk pengembangan Java EE - 18
Begitulah dunia IT. Bahkan jika semuanya dilakukan dengan benar, sesuatu mungkin tidak berhasil. Namun jangan khawatir: Anda dapat langsung menjelaskan cara melakukannya dengan benar, namun beberapa nuansanya akan menjadi kurang jelas. Misalnya, bagaimana url yang IDEA arahkan kepada kita saat meluncurkan aplikasi dihasilkan? Mari kita perhatikan itu. Kami dialihkan ke http://localhost:8080/dukes-age-7.0.1/ . Untuk memahami dari mana asalnya (/dukes-age-7.0.1/), mari buka panel admin server GlassFish. Di menu sebelah kiri, klik Aplikasi. Selanjutnya Anda akan melihat aplikasi yang diterapkan, termasuk dukes-age. Saat Anda memilih aplikasi dukes-age, Anda dapat melihat beberapa karakteristiknya, termasuk item Context-Root: Menyiapkan lingkungan lokal untuk pengembangan Java EE - 19dukes-age-7.0.1 adalah nama dan versi aplikasi. Titik akar. Semua permintaan yang akan diproses dukes-age harus dimulai dengan awalan /dukes-age-7.0.1/. Jadi kita punya titik akar: /dukes-age-7.0.1. Selain itu, sebelumnya kita telah membahas bahwa aplikasi kita akan menangani permintaan ke /webapi/dukesAge. Mari gabungkan kedua hal ini dan perbarui konfigurasi kita.
  1. Untuk melakukannya, mari kembali ke IntelliJ IDEA, lalu ke menu: Run -> Edit Configurations...

  2. Mari pilih konfigurasi yang disimpan sebelumnya dan perbarui URL sesuai dengan gambar di bawah:

    Menyiapkan lingkungan lokal untuk pengembangan Java EE - 20
  3. Mari simpan konfigurasi dan mulai ulang aplikasi kita menggunakan hotkey Ctrl+Shift+F10, atau menggunakan tombol khusus pada panel Layanan:

    Menyiapkan lingkungan lokal untuk pengembangan Java EE - 21
  4. Setelah restart, jika semuanya dilakukan dengan benar, kita akan melihat usia Duke:

    Menyiapkan lingkungan lokal untuk pengembangan Java EE - 22
Besar. Kami akhirnya mengetahui bahwa Duke berusia 24 tahun. Jika Anda tidak mengulangi semua langkah yang dijelaskan di atas dalam beberapa bulan ke depan, mulai April 2020, Duke mungkin akan sedikit menua.

Kesimpulan

Dalam artikel ini, kami melihat bagaimana Anda dapat mengonfigurasi lingkungan lokal Anda agar berfungsi dengan aplikasi Java EE menggunakan contoh server GlassFish 4.0, lingkungan pengembangan IntelliJ IDEA 2019.3.1 (Ultimate), serta Java EE SDK versi 7. Kami melihat bagaimana Anda dapat:
  • unduh dan instal Java EE SDK, serta server GlassFish;
  • hentikan dan mulai server GlassFish melalui PowerShell;
  • konfigurasikan IntelliJ IDEA sehingga Anda dapat menyebarkan aplikasi Java EE dari IDE ke server GlassFish dan segera meluncurkannya.

tugas bonus

  1. Ulangi sendiri semua langkah yang dijelaskan.
  2. Ikuti kursus pengantar Java EE untuk pengembang Java EE pemula dari Oracle .
  3. Item dengan tanda bintang. Cobalah untuk menerapkan sendiri aplikasi demo piala pertama kedua. Aplikasi ini lebih interaktif dan juga berinteraksi dengan aplikasi adipati-age. Untuk menyelesaikan langkah ini, Anda perlu memahami pertanyaan-pertanyaan berikut secara mandiri:
    1. Cara mengaktifkan database di dalam server glassFish;
    2. Cara mengintegrasikan dua aplikasi satu sama lain (di dalam cangkir pertama menunjukkan jalur ke titik akhir dukes-age, yang kita bahas di artikel ini);
    3. Cara membuat konfigurasi baru di Intellij IDEA untuk penerapan piala pertama (mirip dengan yang ditunjukkan di artikel ini);
    4. Mungkin masih banyak pertanyaan lainnya)
PS Hambatan untuk masuk tinggi, tapi bukankah itu yang memotivasi Anda?
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION