Server web memerlukan mesin JSP yang merupakan wadah untuk memproses halaman JSP. Kontainer bertanggung jawab untuk mencegat permintaan halaman JSP. Tutorial ini menggunakan Apache dengan container JSP bawaan untuk mendukung pengembangan JSP.
Kontainer JSP bekerja sama dengan server web untuk menyediakan lingkungan operasi yang diperlukan dan layanan lain untuk pengoperasian normal JSP, dan dapat dengan benar mengidentifikasi elemen khusus yang unik pada halaman web JSP.
Gambar berikut menunjukkan lokasi container JSP dan file JSP di aplikasi web.
Langkah-langkah berikut menunjukkan bagaimana server web menggunakan JSP untuk membuat halaman web:
Sama seperti halaman web normal lainnya, browser Anda mengirimkan permintaan HTTP ke server.
Server web mengenali bahwa ini adalah permintaan untuk halaman web JSP dan meneruskan permintaan tersebut ke mesin JSP. Ini dilakukan dengan menggunakan URL atau file .jsp.
Mesin JSP memuat file JSP dari disk dan mengubahnya menjadi servlet. Transformasi ini hanya mengubah semua teks template menjadi pernyataan println() dan mengubah semua elemen JSP menjadi kode Java.
Mesin JSP mengkompilasi servlet menjadi kelas yang dapat dieksekusi dan meneruskan permintaan asli ke mesin servlet.
Sebuah komponen server web akan memanggil mesin servlet, lalu memuat dan mengeksekusi kelas servlet. Selama eksekusi, servlet menghasilkan output dalam format HTML dan menyematkannya dalam respons HTTP dan mengirimkannya ke server Web.
Server web mengembalikan respons HTTP ke browser Anda dalam bentuk halaman web HTML statis.
Pada akhirnya, browser web memproses halaman HTML yang dihasilkan secara dinamis dalam respons HTTP seolah-olah halaman web tersebut adalah halaman web statis.
Langkah-langkah tersebut di atas dapat diwakili oleh gambar berikut:
Dalam keadaan normal, mesin JSP akan memeriksa apakah servlet yang sesuai dengan file JSP sudah ada, dan memeriksa apakah tanggal modifikasi file JSP lebih awal dari servlet. Jika tanggal modifikasi file JSP lebih awal dari servlet terkait, maka container dapat yakin bahwa file JSP belum diubah dan servlet tersebut valid. Hal ini membuat seluruh proses lebih efisien dan cepat dibandingkan bahasa scripting lainnya (seperti PHP).
Secara umum, halaman web JSP adalah cara lain untuk menulis servlet tanpa menjadi ahli pemrograman Java. Kecuali untuk tahap interpretasi, halaman web JSP dapat diperlakukan hampir seperti servlet biasa.