Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วัฏจักรชีวิตของ JSP (JSP Lifecycle)


วัฏจักรชีวิตของ JSP ถูกนิยามว่าเป็นกระบวนการตั้งแต่การสร้างจนถึงการทำลาย ซึ่งคล้ายกับวัฏจักรชีวิตของ Servlet แต่มีขั้นตอนเพิ่มเติมคือการคอมไพล์ JPS เป็น Servlet

เส้นทางที่ JSP ทำตาม

เส้นทางที่ JSP ทำตามมีดังนี้:

  • การคอมไพล์ (Compilation)
  • การเริ่มต้น (Initialization)
  • การดำเนินการ (Execution)
  • การทำความสะอาด (Cleanup)

4 ขั้นตอนหลักของวัฏจักรชีวิต JSP คล้ายกับ Servlet Life Cycle มาก ขั้นตอนทั้ง 4 อธิบายด้านล่าง:

วัฏจักรชีวิตของ JSP (JSP Lifecycle)

การคอมไพล์ JSP (JSP Compilation)

เมื่อเบราว์เซอร์ขอ JSP เครื่องเครื่อง JSP จะตรวจสอบก่อนว่าจำเป็นต้องคอมไพล์หน้านั้นหรือไม่ หากหน้านั้นไม่เคยถูกคอมไพล์ หรือ JSP ถูกแก้ไขหลังจากคอมไพล์ล่าสุด เครื่อง JSP จะคอมไพล์หน้านั้น

กระบวนการคอมไพล์ประกอบด้วย 3 ขั้นตอน:

  • การแยกวิเคราะห์ JSP (Parsing the JSP)
  • แปลง JSP เป็น Servlet
  • คอมไพล์ Servlet

การเริ่มต้น JSP (JSP Initialization)

เมื่อคอนเทนเนอร์โหลด JSP จะเรียกเมธอด jspInit() ก่อนให้บริการคำขอใดๆ หากคุณต้องการทำการเริ่มต้นเฉพาะ JSP ให้เขียนทับเมธอด jspInit() -

public void jspInit() {
    // รหัสการเริ่มต้น...
}

โดยทั่วไป การเริ่มต้นจะทำเพียงครั้งเดียว และเช่นเดียวกับเมธอด init ของ Servlet โดยทั่วไปคุณจะเริ่มต้นการเชื่อมต่อฐานข้อมูล เปิดไฟล์ และสร้างตารางค้นหาในเมธอด jspInit

การดำเนินการ JSP (JSP Execution)

ขั้นตอนนี้ของวัฏจักรชีวิต JSP แสดงถึงการโต้ตอบทั้งหมดกับคำขอจนกว่า JSP จะถูกทำลาย

ทุกครั้งที่เบราว์เซอร์ขอ JSP และหน้าถูกโหลดและเริ่มต้นแล้ว เครื่อง JSP จะเรียกเมธอด _jspService() ใน JSP

เมธอด _jspService() รับ HttpServletRequest และ HttpServletResponse เป็นพารามิเตอร์ ดังนี้ -

void _jspService(HttpServletRequest request, HttpServletResponse response) {
    // รหัสจัดการบริการ...
}

เมธอด _jspService() ของ JSP จะถูกเรียกทุกครั้งที่มีคำขอ ซึ่งรับผิดชอบในการสร้างการตอบสนองสำหรับคำขอนั้น และยังรับผิดชอบในการสร้างการตอบสนองสำหรับเมธอด HTTP ทั้ง 7 เมธอด เช่น GET, POST, DELETE ฯลฯ

การทำความสะอาด JSP (JSP Cleanup)

ขั้นตอนการทำลายของวัฏจักรชีวิต JSP แสดงถึงเมื่อ JSP ถูกลบออกจากการใช้งานโดยคอนเทนเนอร์

เมธอด jspDestroy() คือเมธอด JSP ที่เทียบเท่ากับเมธอด destroy สำหรับ Servlet ให้เขียนทับ jspDestroy เมื่อคุณต้องการทำความสะอาด เช่น ปล่อยการเชื่อมต่อฐานข้อมูล หรือปิดไฟล์ที่เปิดอยู่

เมธอด jspDestroy() มีรูปแบบดังนี้ -

public void jspDestroy() {
    // รหัสการทำความสะอาดของคุณไปที่นี่
}