โดยสังเขปสามารถกำหนดเป็น 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