Kunci untuk memahami fungsi dasar JSP adalah dengan memahami siklus hidup yang dipatuhinya.
Siklus hidup JSP adalah keseluruhan proses dari pembuatan hingga penghancuran, yang mirip dengan siklus hidup servlet. Bedanya, siklus hidup JSP juga mencakup kompilasi file JSP ke dalam servlet.
Berikut tahapan-tahapan yang dilalui oleh siklus hidup JSP:
Tahap kompilasi:
Kontainer servlet mengkompilasi file sumber servlet dan menghasilkan kelas servlet
Fase inisialisasi:
Muat kelas servlet yang sesuai dengan JSP, buat instance-nya, dan panggil metode inisialisasinya
Fase eksekusi:
Panggil metode layanan dari instance servlet yang sesuai dengan JSP
Fase kehancuran:
Panggil metode penghancuran instance servlet yang sesuai dengan JSP, lalu hancurkan instance servlet
Jelasnya, empat tahapan utama siklus hidup JSP sangat mirip dengan siklus hidup servlet, seperti yang ditunjukkan di bawah ini:
Ketika browser meminta halaman JSP, mesin JSP akan memeriksa terlebih dahulu apakah file tersebut perlu dikompilasi. Jika file ini belum dikompilasi, atau telah diubah sejak kompilasi terakhir, kompilasi file JSP.
Proses kompilasi terdiri dari tiga langkah:
Parsing file JSP.
Ubah file JSP menjadi servlet.
Kompilasi servletnya.
Setelah kontainer memuat file JSP, ia memanggil metode jspInit() sebelum memberikan layanan apa pun pada permintaan tersebut. Jika Anda perlu melakukan tugas inisialisasi JSP khusus, cukup ganti metode jspInit(), seperti ini:
public void jspInit(){ // kode inisialisasi}
Secara umum, program ini hanya diinisialisasi satu kali, dan hal yang sama berlaku untuk servlet. Biasanya Anda dapat menginisialisasi koneksi database, membuka file dan membuat tabel kueri dalam metode jspInit().
Tahap ini menjelaskan semua interaksi terkait permintaan dalam siklus hidup JSP hingga dihancurkan.
Ketika halaman web JSP menyelesaikan inisialisasi, mesin JSP akan memanggil metode _jspService().
Metode _jspService() memerlukan objek HttpServletRequest dan objek HttpServletResponse sebagai parameternya, seperti berikut:
void _jspService(Permintaan HttpServletRequest, respons HttpServletResponse){ // Kode pemrosesan sisi server}
Metode _jspService() dipanggil sekali dalam setiap permintaan dan bertanggung jawab untuk menghasilkan respons yang sesuai, dan juga bertanggung jawab untuk menghasilkan respons untuk ketujuh metode HTTP, seperti GET, POST, DELETE, dll.
Fase penghancuran siklus hidup JSP menggambarkan apa yang terjadi ketika halaman web JSP dihapus dari container.
Metode jspDestroy() di JSP setara dengan metode penghancuran di servlet. Ganti metode jspDestroy() saat Anda perlu melakukan pekerjaan pembersihan apa pun, seperti melepaskan koneksi database atau menutup folder, dll.
Format metode jspDestroy() adalah sebagai berikut:
public void jspDestroy(){ // Bersihkan kode}
Contoh kode siklus hidup JSP adalah sebagai berikut:
<%@ page Language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><html><head><title>life.jsp</title></head ><tubuh><%! int pribadi initVar=0; int pribadi serviceVar=0; int pribadi destroyVar=0;%> <%! public void jspInit(){ initVar++; System.out.println("jspInit(): JSP telah diinisialisasi "+initVar+" kali"); } public void jspDestroy(){ destroyVar++; System.out.println("jspDestroy(): JSP telah dihancurkan"+destroyVar+ "kali"); }%><% serviceVar++; Sistem.keluar.println("_jspService(): JSP merespons total permintaan "+serviceVar+""); String content1="Jumlah inisialisasi: "+initVar; String content2="Jumlah respons terhadap permintaan pelanggan: "+serviceVar; String content3="Jumlah penghancuran: " +destroyVar;%> <h1>contoh tes JSP tutorial w3cschool</h1><p><%=content1 %></p><p><%=content2 %></p><p><%=isi3 %></p></body></html>