เว็บเซิร์ฟเวอร์ต้องการกลไก JSP ซึ่งเป็นคอนเทนเนอร์ในการประมวลผลเพจ JSP คอนเทนเนอร์มีหน้าที่ดักฟังคำขอสำหรับเพจ JSP บทช่วยสอนนี้ใช้ Apache กับคอนเทนเนอร์ JSP ในตัวเพื่อรองรับการพัฒนา JSP
คอนเทนเนอร์ JSP ทำงานร่วมกับเว็บเซิร์ฟเวอร์เพื่อจัดเตรียมสภาพแวดล้อมการทำงานที่จำเป็นและบริการอื่นๆ สำหรับการทำงานปกติของ JSP และสามารถระบุองค์ประกอบพิเศษเฉพาะของหน้าเว็บ JSP ได้อย่างถูกต้อง
รูปต่อไปนี้แสดงตำแหน่งของคอนเทนเนอร์ JSP และไฟล์ JSP ในเว็บแอปพลิเคชัน
ขั้นตอนต่อไปนี้แสดงวิธีที่เว็บเซิร์ฟเวอร์ใช้ JSP เพื่อสร้างเว็บเพจ:
เช่นเดียวกับหน้าเว็บปกติอื่นๆ เบราว์เซอร์ของคุณส่งคำขอ HTTP ไปยังเซิร์ฟเวอร์
เว็บเซิร์ฟเวอร์รับรู้ว่านี่เป็นคำขอสำหรับหน้าเว็บ JSP และส่งต่อคำขอไปยังกลไก JSP ทำได้โดยใช้ URL หรือไฟล์ .jsp
เอ็นจิ้น JSP โหลดไฟล์ JSP จากดิสก์และแปลงเป็นเซิร์ฟเล็ต การแปลงนี้เพียงแปลงข้อความเทมเพลตทั้งหมดเป็นคำสั่ง println() และแปลงองค์ประกอบ JSP ทั้งหมดเป็นโค้ด Java
เอ็นจิ้น JSP คอมไพล์เซิร์ฟเล็ตเป็นคลาสที่ปฏิบัติการได้ และส่งคำขอดั้งเดิมไปยังเอ็นจิ้นเซิร์ฟเล็ต
ส่วนประกอบของเว็บเซิร์ฟเวอร์จะเรียกใช้เอ็นจิ้นเซิร์ฟเล็ต จากนั้นโหลดและดำเนินการคลาสเซิร์ฟเล็ต ในระหว่างการดำเนินการ เซิร์ฟเล็ตจะสร้างเอาต์พุตในรูปแบบ HTML และฝังไว้ในการตอบสนอง HTTP และส่งไปยังเว็บเซิร์ฟเวอร์
เว็บเซิร์ฟเวอร์ส่งคืนการตอบสนอง HTTP ไปยังเบราว์เซอร์ของคุณในรูปแบบของหน้าเว็บ HTML แบบคงที่
ในที่สุด เว็บเบราว์เซอร์จะประมวลผลหน้า HTML ที่สร้างขึ้นแบบไดนามิกในการตอบกลับ HTTP ราวกับว่าเป็นหน้าเว็บแบบคงที่
ขั้นตอนที่กล่าวถึงข้างต้นสามารถแสดงได้ด้วยรูปต่อไปนี้:
ภายใต้สถานการณ์ปกติ เอ็นจิ้น JSP จะตรวจสอบว่าเซิร์ฟเล็ตที่สอดคล้องกับไฟล์ JSP มีอยู่แล้วหรือไม่ และตรวจสอบว่าวันที่แก้ไขไฟล์ JSP นั้นเร็วกว่าเซิร์ฟเล็ตหรือไม่ หากวันที่แก้ไขไฟล์ JSP ก่อนเซิร์ฟเล็ตที่เกี่ยวข้อง คอนเทนเนอร์สามารถมั่นใจได้ว่าไฟล์ JSP ไม่ได้ถูกแก้ไข และเซิร์ฟเล็ตนั้นถูกต้อง ทำให้กระบวนการทั้งหมดมีประสิทธิภาพและเร็วกว่าภาษาสคริปต์อื่นๆ (เช่น PHP)
โดยทั่วไป เว็บเพจ JSP เป็นอีกวิธีหนึ่งในการเขียนเซิร์ฟเล็ตโดยไม่ต้องเป็นผู้เชี่ยวชาญด้านการเขียนโปรแกรม Java ยกเว้นขั้นตอนการตีความ เว็บเพจ JSP สามารถถือเป็นเซิร์ฟเล็ตทั่วไปได้