โดยสังเขปสามารถกำหนดเป็น Servlet เป็นโปรแกรมจาวาที่ทำงานบนเว็บเซิร์ฟเวอร์และทำหน้าที่เป็นชั้นกลางระหว่างคำขอที่มาจากไคลเอนต์ HTTP และฐานข้อมูลหรือแอปพลิเคชันบนเซิร์ฟเวอร์ HTTP ในขณะที่ JSP เป็นเพียงเอกสารข้อความที่มี ข้อความสองประเภท:ข้อความคงที่ที่กำหนดไว้ล่วงหน้าและข้อความไดนามิกที่แสดงหลังจากได้รับการตอบสนองของเซิร์ฟเวอร์
ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่าง ArrayList และ HashSet
ซีเนียร์ เลขที่ | คีย์ | เซิร์ฟเล็ต | JSP |
---|---|---|---|
1 | การนำไปใช้ | Servlet ได้รับการพัฒนาในภาษา Java | JSP นั้นเขียนด้วยภาษา HTML เป็นหลัก แม้ว่าโค้ด Java จะเขียนได้ แต่สำหรับมัน JSTL หรือภาษาอื่นเป็นสิ่งจำเป็น |
2 | MVC | ตรงกันข้ามกับ MVC เราสามารถระบุเซิร์ฟเล็ตเป็นคอนโทรลเลอร์ซึ่งรับกระบวนการคำขอและส่งการตอบกลับกลับมา | ในทางกลับกัน JSP เล่นบทบาทของมุมมองเพื่อแสดงการตอบสนองที่ส่งคืนโดยเซิร์ฟเล็ต |
3 | ประเภทคำขอ | เซิร์ฟเล็ตสามารถรับและประมวลผลคำขอโปรโตคอลทุกประเภท | ในทางกลับกัน JSP เข้ากันได้กับคำขอ HTTP เท่านั้น |
4 | การจัดการเซสชัน | ใน Servlet โดยค่าเริ่มต้นการจัดการเซสชันไม่ได้เปิดใช้งาน ผู้ใช้ต้องเปิดใช้งานอย่างชัดเจน | ในทางกลับกัน การจัดการเซสชัน JSP จะเปิดใช้งานโดยอัตโนมัติ |
5 | ประสิทธิภาพ | Servlet เร็วกว่า JSP | JSP นั้นช้ากว่า Servlet เพราะในขั้นแรก การแปล JSP เป็นโค้ดจาวาเกิดขึ้นแล้วจึงคอมไพล์ |
6 | มีการปรับเปลี่ยน | การปรับเปลี่ยนใน Servlet เป็นงานที่ต้องใช้เวลามาก เพราะมันรวมถึงการโหลดซ้ำ การคอมไพล์ใหม่ และการรีสตาร์ทเซิร์ฟเวอร์เมื่อเราทำการเปลี่ยนแปลงใดๆ ในโค้ดของเราเพื่อให้มีผล | ในทางกลับกัน การปรับเปลี่ยน JSP นั้นรวดเร็วเพียงต้องคลิกปุ่มรีเฟรชและการเปลี่ยนแปลงโค้ดจะมีผล |
ตัวอย่างเซิร์ฟเล็ต
JavaTester.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class JavaTester extends HttpServlet { private String message; public void init() throws ServletException { // Do required initialization message = "Hello World"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Set response content type response.setContentType("text/html"); // Actual logic goes here. PrintWriter out = response.getWriter(); out.println(message); } }
ผลลัพธ์
Hello World