- SDK Java EE;
- Server Aplikasi Java EE GlassFish;
- Menyiapkan IntelliJ IDEA.
- Tunjukkan bagaimana Anda dapat mempersiapkan lingkungan kerja untuk bekerja dengan aplikasi Java EE.
- Tunjukkan bagaimana Anda dapat menyebarkan dan menjalankan aplikasi Java EE dari IntelliJ IDEA di server GlassFish.
- Unduh dan instal Java EE 7 SDK.
- Mari kita angkat GlassFish Server Aplikasi Java EE.
- Mari pelajari cara memulai dan menghentikan server melalui baris perintah.
- Mari konfigurasikan IntelliJ IDEA untuk menyebarkan aplikasi ke server ini.
- Mari kita terapkan dan jalankan aplikasi demo, yang bersama dengan server aplikasi GlassFish, disertakan dalam Java EE 7 SDK.
- 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.-
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.
-
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”
-
Jalankan file instalasi. Saat startup, kesalahan berikut mungkin terjadi (jika tidak terjadi, Anda dapat melanjutkan instalasi):
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:
-
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. -
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:
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).
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 : Server dihentikan. Sekarang mari kita jalankan:
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: Hanya 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: Aplikasi dengan struktur berikut akan terbuka: Mari kita lihat kode kelasnyaDukesAgeResource
:
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.
- Anotasi di atas kelas
@Path("dukesAge")
mendefinisikan jalur URI ke mana panggilan akan diproses oleh kelas ini. - Anotasi di atas metode ini
@GET
memberi tahu kita bahwa metode ini memproses permintaan GET. - Anotasi
@Produces("text/plain")
menentukan jenis media respons terhadap permintaan. Tidak sulit untuk menebak bahwa metode tersebutgetText()
akan menghasilkan respon dengan jenis media: teks/polos.
<?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-pattern
dengan 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- Untuk melakukan ini, buka menu Jalankan -> Edit Konfigurasi.
- Panel Konfigurasi Jalankan/Debug akan terbuka:
- Kita perlu menambahkan konfigurasi baru. Untuk melakukannya, klik tanda tambah, atau gunakan tombol pintas Alt+Sisipkan. Dalam daftar yang terbuka, pilih Server GlassFish -> Lokal:
- Di jendela yang terbuka, mari mulai mengatur konfigurasi:
- Langkah selanjutnya adalah menunjukkan artefak yang perlu disebarkan ke server. Ini dapat dilakukan melalui tab Deployment dengan mengklik tanda plus -> Artefak...
- Pilih dukes-age:war dan klik OK:
- Selanjutnya simpan konfigurasi kita dengan mengklik Apply lalu OK.
Meluncurkan aplikasi
Sekarang mari kita coba jalankan aplikasinya.-
Untuk melakukannya, Anda dapat menggunakan hotkey Alt+Shift+F10, atau melalui menu Run -> Run...
Dan pilih konfigurasi dukes-age yang kami buat:
-
Setelah ini kita melihat log startup di panel Layanan:
-
Kemudian, jika semuanya dilakukan sesuai petunjuk, browser akan terbuka dan menjadi jelas bahwa tidak ada yang berfungsi:
-
Untuk melakukannya, mari kembali ke IntelliJ IDEA, lalu ke menu: Run -> Edit Configurations...
-
Mari pilih konfigurasi yang disimpan sebelumnya dan perbarui URL sesuai dengan gambar di bawah:
-
Mari simpan konfigurasi dan mulai ulang aplikasi kita menggunakan hotkey Ctrl+Shift+F10, atau menggunakan tombol khusus pada panel Layanan:
-
Setelah restart, jika semuanya dilakukan dengan benar, kita akan melihat usia Duke:
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
- Ulangi sendiri semua langkah yang dijelaskan.
- Ikuti kursus pengantar Java EE untuk pengembang Java EE pemula dari Oracle .
- 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:
- Cara mengaktifkan database di dalam server glassFish;
- Cara mengintegrasikan dua aplikasi satu sama lain (di dalam cangkir pertama menunjukkan jalur ke titik akhir dukes-age, yang kita bahas di artikel ini);
- Cara membuat konfigurasi baru di Intellij IDEA untuk penerapan piala pertama (mirip dengan yang ditunjukkan di artikel ini);
- Mungkin masih banyak pertanyaan lainnya)
GO TO FULL VERSION