JSP เทียบกับเซิร์ฟเล็ต
A Servlet เป็นส่วนประกอบซอฟต์แวร์ฝั่งเซิร์ฟเวอร์ที่เขียนด้วย Java และทำงานในสภาพแวดล้อมคอนเทนเนอร์ที่เข้ากันได้ซึ่งเรียกว่าคอนเทนเนอร์ Servelt (เช่น Apache Tomcat) เซิร์ฟเล็ตส่วนใหญ่จะใช้ในการปรับใช้เว็บแอปพลิเคชันที่สร้างหน้าเว็บแบบไดนามิก อย่างไรก็ตาม พวกเขาสามารถสร้างเนื้อหาประเภทอื่นๆ เช่น XML, ข้อความ, รูปภาพ, คลิปเสียง, PDF, ไฟล์ Excel โดยทางโปรแกรม
A Servlet ที่เขียนเพื่อสร้าง HTML อาจมีลักษณะดังนี้:
คลาสสาธารณะ MyServlet ขยาย HttpServlet {
ป้องกัน void doGet(คำขอ HttpServletRequest, การตอบสนอง HttpServletResponse) พ่น ServletException, IOException {
PrintWriter w=response.getWriter();
w.write(“”);
w.write(“”);
วันที่ d=วันที่ใหม่();
w.write(d.toString());
w.write(“”);
w.write(“”);
}
}
โค้ดด้านบนประกอบด้วยซอร์สโค้ด HTML และ Java ไม่สามารถอ่านและบำรุงรักษาได้มากนัก JSP ซึ่งย่อมาจาก JavaServer Pages ให้ทางเลือกที่ดีกว่า ตัวอย่างเช่น ต่อไปนี้เป็นส่วนของโค้ด JSP ที่ให้ผลลัพธ์เหมือนกัน:
ผู้เขียนหน้าเว็บพบว่า JSP เขียนและบำรุงรักษาง่ายกว่า อย่างไรก็ตาม ไฟล์ JSP ถูกแปลเป็น Servlets โดยคอนเทนเนอร์ Servlet ณ เวลาที่เข้าถึงไฟล์ JSP เป็นครั้งแรก อย่างไรก็ตาม ผู้เขียนตรรกะทางธุรกิจพบว่า Servlets ใช้งานได้ง่ายขึ้น
คำขอที่เว็บแอปพลิเคชันได้รับควรทริกเกอร์การดำเนินการของตรรกะทางธุรกิจบางอย่าง จากนั้นจึงสร้างหน้าเว็บที่เป็นผลลัพธ์เป็นคำตอบในเว็บแอปพลิเคชันสมัยใหม่ Servlets เป็นผู้ควบคุมวงจรการประมวลผลคำขอโดยรวมเป็นส่วนใหญ่ ในขั้นตอนสุดท้ายในการประมวลผลคำขอ Servlet ดังกล่าวมักจะมอบความรับผิดชอบในการสร้าง HTML แบบไดนามิกไปยัง JSP