ความแตกต่างที่สำคัญ: 'JSP (Java Server Pages)' เป็นเทคโนโลยีฝั่งเซิร์ฟเวอร์ในขณะที่ 'Servlet' เป็นโปรแกรมขนาดเล็กที่ทำงานบนเซิร์ฟเวอร์ เทคโนโลยี Java ทั้งสองนี้ใช้สำหรับสร้างหน้าเว็บแบบไดนามิก
Sun Microsystems เปิดตัว JSP (Java Server Pages) ในปี 1999 JSPs เป็นภาษาสคริปต์ Java ที่ใช้โดยทั่วไปสำหรับการสร้าง HTML, XML หรือเว็บเพจประเภทเอกสารอื่น ๆ หน้าเหล่านี้มีความสามารถในการสร้างสคริปต์แบบไดนามิกในการแยกลอจิกของหน้าเว็บออกจากส่วนของสแตติก การออกแบบพื้นฐานของพวกเขาทำให้ HTML ทำงานได้จริงยิ่งขึ้นและทำให้การสืบค้นฐานข้อมูลมีความยืดหยุ่นมากขึ้น ต้องการเว็บเซิร์ฟเวอร์ที่ใช้งานร่วมกับคอนเทนเนอร์เซิร์ฟเล็ต (เช่น Apache Tomcat หรือ Jetty) เพื่อปรับใช้และเรียกใช้ Java Server Pages (JSP) JSP เป็นสถาปัตยกรรมนามธรรมระดับสูงของ Java Servlet ที่รันไทม์ JSP เหล่านี้จะถูกแปลเป็น servlets เซิร์ฟเล็ต JSP ถูกแคชและนำมาใช้ใหม่จนกว่าจะแก้ไข JSP ดั้งเดิม JSP สามารถใช้งานได้อย่างอิสระและยังสามารถดูเป็นส่วนประกอบของการออกแบบโมเดลฝั่งเซิร์ฟเวอร์ - มุมมอง - คอนโทรลเลอร์ โปรแกรมเมอร์ใช้ประโยชน์จากโค้ด Java พร้อมกับการกระทำที่กำหนดไว้ล่วงหน้าเพื่อสร้างหน้าเนื้อหาของเว็บมาร์กอัป หน้าเหล่านี้รวบรวมและดำเนินการเพิ่มเติมในฝั่งเซิร์ฟเวอร์เพื่อส่งเอกสาร
หน้า JSP ใช้ตัวคั่นหลายตัวสำหรับฟังก์ชันการเขียนสคริปต์ พื้นฐานที่สุดคือซึ่งล้อมรอบสคริปต์ JSP scriptlet เป็นส่วนของรหัส Java ที่ทำงานเมื่อผู้ใช้ร้องขอหน้า
ต่อไปนี้ถูกต้องสำหรับลูปในหน้า JSP:
นับเป็นสาม:
<% สำหรับ (int i = 1; i
หมายเลขนี้คือ <% = i%>
ตกลง.
เอาท์พุทมันจะถูกแสดงเป็น:
นับเป็นสาม:
หมายเลขนี้คือ 1
หมายเลขนี้คือ 2
หมายเลขนี้คือ 3
ตกลง.
Servlets เป็นโปรแกรม Java ขนาดเล็กที่เกี่ยวข้องกับ Java Applets โดยทั่วไปแล้วพวกเขาจะทำงานภายในสภาพแวดล้อมของเว็บเซิร์ฟเวอร์ ข้อกำหนดของ Servlet ถูกสร้างขึ้นโดย Sun Microsystems โดยมีการสรุปรุ่น 1.0 ในเดือนมิถุนายน 1997 รุ่นเริ่มต้นคือ 2.3 ในขณะที่รุ่นปัจจุบันของปี 2556 เท่ากับ 3.1 servlet เป็นคลาส Java ที่ใช้เพื่อขยายความสามารถของเซิร์ฟเวอร์ พวกเขาตอบสนองต่อการร้องขอใด ๆ ในรูปแบบของการตอบสนองที่เหมาะสม แพคเกจ Servlet พื้นฐานกำหนดวัตถุ Java เพื่อแสดงการร้องขอและการตอบสนอง servlet สามารถสร้าง Servlets อัตโนมัติจาก Java Server Pages (JSP) โดยคอมไพเลอร์ JavaServer Pages ในทางเทคนิค "servlet" สามารถกำหนดเป็นคลาส Java ใน Java EE ที่สอดคล้องกับ Java Servlet API
Servlets เป็นตัวสื่อสารผ่านโปรโตคอลไคลเอนต์ - เซิร์ฟเวอร์และมักใช้กับโปรโตคอล HTTP วัตถุประสงค์พื้นฐานของพวกเขาคือ:
- เพื่อประมวลผลหรือจัดเก็บและส่งข้อมูลฟอร์ม HTML
- เพื่อให้เนื้อหาแบบไดนามิกเช่นผลลัพธ์ของแบบสอบถามฐานข้อมูล
- จัดการข้อมูลสถานะที่ไม่มีอยู่ในโปรโตคอล HTTP ไร้สัญชาติเช่นการกรอกบทความลงในตะกร้าสินค้าของลูกค้าที่เหมาะสม
servlet ทำงานบนวงจรชีวิตของ servlet โดยทั่วไปมีสามวิธี servlet ซึ่งกำหนดวงจรชีวิตของ servlet:
- ในนั้น(),
- บริการ () และ
- ทำลาย()
เปรียบเทียบระหว่าง JSP และ Servlet:
JSP | servlet | |
พวกเขาคืออะไร | JSP เป็นภาษาสคริปต์ของเว็บเพจซึ่งโดยทั่วไปใช้เพื่อสร้างเนื้อหาเว็บแบบไดนามิก | Servlets เป็นโปรแกรม Java ที่รวบรวมไว้แล้วและยังสร้างเนื้อหาเว็บแบบไดนามิก |
เป็นปกติ | โดยทั่วไปแล้ว JSP จะเน้นไปที่การแสดงข้อมูลมากขึ้น | Servlet มุ่งเน้นไปที่การประมวลผลข้อมูลมากขึ้น |
บทบาทใน MVC (Model View Controller) | JSP ทำหน้าที่เป็นผู้ดู | Servlet ทำหน้าที่เป็นตัวควบคุม |
ใช้งานได้ในเวลา | โดยทั่วไปเป็นที่ต้องการเมื่อมีการประมวลผลข้อมูลไม่มาก | โดยทั่วไปแล้วจะนิยมใช้เมื่อมีการประมวลผลและการจัดการที่เกี่ยวข้องมากกว่า |
ความเร็วในการวิ่ง | JSP ทำงานช้าลงเมื่อเทียบกับ Servlet JSP คอมไพล์ลงใน Java Servlets | servlets ทำงานเร็วขึ้นเมื่อเทียบกับ JSP |
ภาวะแทรกซ้อนของรหัส | การเขียนโปรแกรมรหัสนั้นง่ายเมื่อเปรียบเทียบกับของ Servlets | การเขียนโปรแกรมรหัสนั้นยากเมื่อเทียบกับของ JSP |
สิ่งอำนวยความสะดวก | ที่นี่เราสามารถสร้างแท็กที่กำหนดเองซึ่งสามารถเรียก Java beans ได้โดยตรง | ไม่มีสิ่งอำนวยความสะดวกดังกล่าวใน servlets |
ประกอบด้วย | JSP เป็นการนำเสนอ Java HTML แบบผสมกับ JAVA scriptlets | Servlet เป็นโค้ด Java ที่ทำงานได้อย่างสมบูรณ์ |
ความสอดคล้องของวัตถุ | JSP มีวัตถุโดยนัย | Servlets ไม่มีวัตถุประเภทนี้ |
ตัวอย่าง | เพื่อแสดงรายงาน | ในการประมวลผลแบบฟอร์มที่ผู้ใช้ส่ง |