Siklus Hidup JSP
Apa itu Siklus Hidup JSP?
Siklus Hidup JSP didefinisikan sebagai penerjemahan Halaman JSP menjadi servlet karena Halaman JSP perlu diubah menjadi servlet terlebih dahulu untuk memproses permintaan layanan. Siklus Hidup dimulai dengan pembuatan JSP dan diakhiri dengan disintegrasi JSP.
Berbagai Fase Siklus Hidup JSP
Ketika browser meminta JSP, mesin JSP terlebih dahulu memeriksa apakah perlu mengkompilasi halaman tersebut. Jika JSP terakhir dikompilasi atau modifikasi terbaru dilakukan di JSP, maka mesin JSP akan mengkompilasi halaman tersebut.
Proses kompilasi halaman JSP melibatkan tiga langkah:
- Penguraian JSP
- Mengubah JSP menjadi servlet
- Mengompilasi servlet
Diagram Siklus Hidup JSP
Siklus Hidup JSP digambarkan pada diagram di bawah ini.
Langkah-langkah berikut menjelaskan siklus hidup JSP:
- Terjemahan halaman JSP
- Kompilasi halaman JSP(Kompilasi halaman JSP ke _jsp.java)
- Pemuatan kelas (_jsp.java diubah menjadi file kelas _jsp.kelas)
- Instansiasi (Objek servlet yang dihasilkan dibuat)
- Inisialisasi(
_jspinit()
metode dipanggil oleh wadah) - Pemrosesan Permintaan(
_jspservice()
metode dipanggil oleh wadah) - Menghancurkan (
_jspDestroy()
metode yang dipanggil oleh wadah)
Mari kita lihat ringkasan lebih rinci tentang poin-poin di atas:
1) Terjemahan Halaman JSP:
A Java File servlet dihasilkan dari file sumber JSP. Ini adalah langkah pertama dari siklus hidup JSP. Dalam fase penerjemahan, container memvalidasi kebenaran sintaksis halaman JSP dan file tag.
- Wadah JSP menafsirkan arahan dan tindakan standar, serta tindakan kustom yang merujuk ke pustaka tag (semuanya merupakan bagian dari halaman JSP dan akan dibahas di bagian selanjutnya) yang digunakan di halaman JSP ini.
- Pada deskripsi gambar di atas, demo.jsp diterjemahkan ke demo_jsp.java pada langkah pertama
- Mari kita ambil contoh “demo.jsp” seperti yang ditunjukkan di bawah ini:
Demo.jsp
<html> <head> <title>Demo JSP</title> </head> <% int demvar=0;%> <body> Count is: <% Out.println(demovar++); %> <body> </html>
Penjelasan Kode untuk Demo.jsp
Baris Kode 1: tag awal html
Baris Kode 2: Tanda kepala
Baris Kode 3 – 4: Tag Judul yaitu Demo JSP dan tag kepala penutup
Baris Kode 5 – 6: Tag skrip tempat menginisialisasi variabel demo
Baris Kode 7 – 8: Dalam tag body, teks yang akan dicetak dalam output (Hitungannya adalah: )
Baris Kode 9: Tag skrip tempat mencoba mencetak variabel demovar dengan nilai yang bertambah
Baris Kode 10 – 11: Tag isi dan HTML ditutup
Halaman Demo JSP diubah menjadi demo_jsp servlet dalam kode di bawah ini.
Penjelasan kode untuk Demo_jsp.java
Baris Kode 1: Kelas Servlet demo_jsp memperluas kelas induk HttpServlet
Baris Kode 2 – 3: Mengganti metode layanan jsp yaitu _jspservice yang memiliki objek HttpServletRequest dan HttpServletResponse sebagai parameternya
Baris Kode 4: Metode pembukaan
Baris Kode 5: Memanggil metode getWriter()
objek respons untuk mendapatkan objek PrintWriter (mencetak representasi objek yang diformat ke aliran keluaran teks)
Baris Kode 6: Memanggil metode setContentType dari objek respons untuk mengatur tipe konten
Baris Kode 7: Menggunakan write()
metode objek PrintWriter mencoba mengurai html
Baris Kode 8: Menginisialisasi variabel demovar ke 0
Baris Kode 9: Menelepon write()
metode objek PrintWriter untuk mengurai teks
Baris Kode 10: Menelepon print()
metode objek PrintWriter untuk menaikkan variabel demovar dari 0+1=1. Oleh karena itu, outputnya akan menjadi 1
Baris Kode 11: Menggunakan write()
metode objek PrintWriter mencoba mengurai html
Keluaran:
- Di sini Anda dapat melihat bahwa di tangkapan layar, Outputnya adalah 1 karena demvar diinisialisasi ke 0 dan kemudian bertambah menjadi 0+1=1
Dalam contoh di atas,
- demo.jsp, adalah JSP di mana satu variabel diinisialisasi dan bertambah. JSP ini dikonversi ke servlet (demo_jsp.class ) dimana mesin JSP memuat Halaman JSP dan mengkonversi ke konten servlet.
- Ketika konversi terjadi, semua teks templat diubah
println()
pernyataan dan semuanya elemen JSP dikonversi menjadi Java kode.
Ini adalah bagaimana halaman JSP sederhana diterjemahkan ke dalam kelas servlet.
2) Kompilasi Halaman JSP
- File java servlet yang dihasilkan dikompilasi ke dalam kelas java servlet
- Penerjemahan halaman sumber java ke kelas implementasinya dapat terjadi kapan saja antara penerapan halaman JSP ke dalam container dan pemrosesan halaman JSP.
- Dalam deskripsi bergambar di atas demo_jsp.java dikompilasi ke file kelas demo_jsp.class
3) Pemuatan kelas
- Kelas Servlet yang telah dimuat dari sumber JSP kini dimuat ke dalam container
4) Instansiasi
- Pada langkah ini objek yaitu instance kelas dihasilkan.
- Kontainer mengelola satu atau lebih instance kelas ini sebagai respons terhadap permintaan dan kejadian lainnya. Biasanya, container JSP dibuat menggunakan container servlet. Kontainer JSP adalah perpanjangan dari kontainer servlet karena kontainer tersebut mendukung JSP dan servlet.
- Antarmuka JSPPage yang disediakan oleh container menyediakan
init()
dandestroy()
metode. - Terdapat antarmuka HttpJSPPage yang melayani permintaan HTTP, dan juga berisi metode layanan.
5) Inisialisasi
public void jspInit() { //initializing the code }
_jspinit()
Metode ini akan memulai instance servlet yang dihasilkan dari JSP dan akan dipanggil oleh container pada fase ini.- Setelah instance dibuat, metode init akan segera dipanggil setelah itu
- Ini hanya dipanggil sekali selama siklus hidup JSP, metode inisialisasi dideklarasikan seperti yang ditunjukkan di atas
6) Pemrosesan Permintaan
void _jspservice(HttpServletRequest request HttpServletResponse response) { //handling all request and responses }
_jspservice()
Metode ini dipanggil oleh container untuk semua permintaan yang diajukan oleh halaman JSP selama siklus hidupnya- Untuk fase ini, ia harus melalui semua fase di atas dan hanya metode layanan yang dapat dipanggil.
- Itu melewati objek permintaan dan respons
- Metode ini tidak dapat dikesampingkan
- Metodenya ditunjukkan di atas: Bertanggung jawab untuk menghasilkan semua metode HTTP yaitu GET, POST, dll.
7) Hancurkan
public void _jspdestroy() { //all clean up code }
_jspdestroy()
metode juga dipanggil oleh wadah- Metode ini dipanggil ketika container memutuskan bahwa ia tidak lagi memerlukan instance servlet untuk melayani permintaan.
- Ketika pemanggilan metode penghancuran dilakukan, servlet siap untuk pengumpulan sampah
- Ini adalah akhir dari siklus hidup.
- Kita bisa menimpanya
jspdestroy()
metode ketika kita melakukan pembersihan apa pun seperti melepaskan koneksi database atau menutup file yang terbuka.