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

ความแตกต่างระหว่าง Servlet และ JSP


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