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

หน้า JSP ทำงานอย่างไร ใครช่วยอธิบายสถาปัตยกรรม JSP ด้วยคำที่ง่ายกว่า


เว็บเซิร์ฟเวอร์ต้องการเอ็นจิ้น JSP นั่นคือคอนเทนเนอร์เพื่อประมวลผลเพจ JSP คอนเทนเนอร์ JSP มีหน้าที่ในการสกัดกั้นคำขอสำหรับเพจ JSP บทช่วยสอนนี้ใช้ Apache ซึ่งมีคอนเทนเนอร์ JSP ในตัวเพื่อรองรับการพัฒนาเพจ JSP

คอนเทนเนอร์ JSP ทำงานร่วมกับเว็บเซิร์ฟเวอร์เพื่อจัดเตรียมสภาพแวดล้อมรันไทม์และบริการอื่นๆ ที่ JSP ต้องการ รู้วิธีทำความเข้าใจองค์ประกอบพิเศษที่เป็นส่วนหนึ่งของ JSP

ไดอะแกรมต่อไปนี้แสดงตำแหน่งของคอนเทนเนอร์ JSP และไฟล์ JSP ในเว็บแอปพลิเคชัน

หน้า JSP ทำงานอย่างไร ใครช่วยอธิบายสถาปัตยกรรม JSP ด้วยคำที่ง่ายกว่า

การประมวลผล JSP

ขั้นตอนต่อไปนี้อธิบายวิธีที่เว็บเซิร์ฟเวอร์สร้างหน้าเว็บโดยใช้ JSP -

  • เช่นเดียวกับหน้าปกติ เบราว์เซอร์ของคุณจะส่งคำขอ HTTP ไปยังเว็บเซิร์ฟเวอร์

  • เว็บเซิร์ฟเวอร์รับรู้ว่าคำขอ HTTP นั้นใช้สำหรับหน้า JSP และส่งต่อไปยังเอ็นจิน JSP ทำได้โดยใช้หน้า URL หรือ JSP ซึ่งลงท้ายด้วย .jsp แทน .html .

  • เอ็นจิ้น JSP โหลดเพจ JSP จากดิสก์และแปลงเป็นเนื้อหาเซิร์ฟเล็ต การแปลงนี้ง่ายมาก โดยที่ข้อความเทมเพลตทั้งหมดจะถูกแปลงเป็นคำสั่ง println( ) และอิลิเมนต์ JSP ทั้งหมดจะถูกแปลงเป็นโค้ด Java โค้ดนี้ใช้พฤติกรรมแบบไดนามิกที่สอดคล้องกันของเพจ

  • เอ็นจิน JSP จะคอมไพล์เซิร์ฟเล็ตเป็นคลาสที่สามารถเรียกใช้งานได้ และส่งต่อคำร้องขอดั้งเดิมไปยังเอ็นจินเซิร์ฟเล็ต

  • ส่วนหนึ่งของเว็บเซิร์ฟเวอร์ที่เรียกว่าเอ็นจิ้นเซิร์ฟเล็ตจะโหลดคลาส Servlet และดำเนินการ ในระหว่างการดำเนินการ เซิร์ฟเล็ตจะสร้างเอาต์พุตในรูปแบบ HTML เอาต์พุตจะถูกส่งต่อไปยังเว็บเซิร์ฟเวอร์โดยเอ็นจิ้นเซิร์ฟเล็ตภายในการตอบสนอง HTTP

  • เว็บเซิร์ฟเวอร์ส่งต่อการตอบสนอง HTTP ไปยังเบราว์เซอร์ของคุณในแง่ของเนื้อหา HTML แบบคงที่

  • สุดท้าย เว็บเบราว์เซอร์จะจัดการหน้า HTML ที่สร้างขึ้นแบบไดนามิกภายในการตอบสนองของ HTTP เหมือนกับว่าเป็นหน้าคงที่

ขั้นตอนที่กล่าวมาทั้งหมดสามารถเห็นได้ในแผนภาพต่อไปนี้ -

หน้า JSP ทำงานอย่างไร ใครช่วยอธิบายสถาปัตยกรรม JSP ด้วยคำที่ง่ายกว่า

โดยทั่วไป เอ็นจิน JSP จะตรวจสอบเพื่อดูว่าเซิร์ฟเล็ตสำหรับไฟล์ JSP มีอยู่แล้วหรือไม่ และวันที่แก้ไขบน JSP นั้นเก่ากว่าเซิร์ฟเล็ตหรือไม่ หาก JSP นั้นเก่ากว่าเซิร์ฟเล็ตที่สร้างขึ้น คอนเทนเนอร์ JSP จะถือว่า JSP ไม่ได้เปลี่ยนแปลง และเซิร์ฟเล็ตที่สร้างขึ้นยังคงตรงกับเนื้อหาของ JSP สิ่งนี้ทำให้กระบวนการมีประสิทธิภาพมากกว่าภาษาสคริปต์อื่น ๆ (เช่น PHP) และเร็วกว่านั้น

ในทางหนึ่ง หน้า JSP เป็นอีกวิธีหนึ่งในการเขียนเซิร์ฟเล็ตโดยไม่ต้องเป็นวิซการเขียนโปรแกรม Java ยกเว้นขั้นตอนการแปล หน้า JSP จะได้รับการจัดการเหมือนกับเซิร์ฟเล็ตทั่วไป