ใน java ทั้ง Applets และ servlets เป็นโปรแกรมหรือแอปพลิเคชันที่ทำงานในสภาพแวดล้อม Java ความแตกต่างหลักในทั้งสองโปรแกรมคือการประมวลผลในสภาพแวดล้อมที่แตกต่างกัน
ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่าง Applet และ Servlets
ซีเนียร์ เลขที่ | คีย์ | แอปเพล็ต | เซิร์ฟเล็ต |
---|---|---|---|
1 | การดำเนินการ | แอปเพล็ตทำงานบนฝั่งไคลเอ็นต์ เช่น แอปเพล็ตทำงานภายในเว็บเบราว์เซอร์บนเครื่องไคลเอ็นต์ | Servlet ทำงานบนฝั่งเซิร์ฟเวอร์ เช่น Servlet ทำงานบนเว็บเพจบนเซิร์ฟเวอร์ |
2 | แพ็คเกจหลัก | แพ็กเกจหลักของ Applet ประกอบด้วย java.applet.* และ java.awt.* | แพ็กเกจหลักของ Servlet ประกอบด้วย javax.servlet.* และ java.servlet.http.* |
3 | วิธีการ | วิธีการที่สำคัญของ applet ได้แก่ init(), stop(), paint(), start(), destroy() | วิธีวงจรชีวิตของเซิร์ฟเล็ตคือ init( ), service( ) และ destroy( ) |
4 | ส่วนต่อประสานผู้ใช้ | สำหรับการดำเนินการของแอปเพล็ต จำเป็นต้องมีอินเทอร์เฟซผู้ใช้ เช่น AWT หรือการแกว่ง | ไม่จำเป็นต้องใช้อินเทอร์เฟซดังกล่าวสำหรับการทำงานของเซิร์ฟเล็ต |
5 | แบนด์วิดท์ที่จำเป็น | แอปเพล็ตต้องการอินเทอร์เฟซผู้ใช้บนเครื่องไคลเอ็นต์เพื่อดำเนินการ ดังนั้นจึงต้องใช้แบนด์วิธมากขึ้น | ในทางกลับกัน Servlets ทำงานบนเซิร์ฟเวอร์และดังนั้นจึงต้องการแบนด์วิดท์น้อยกว่า |
6 | ปลอดภัย | Applets มีความเสี่ยงมากกว่าเนื่องจากมีการดำเนินการบนเครื่องไคลเอนต์ | เซิร์ฟเล็ตมีความปลอดภัยมากขึ้นเนื่องจากการดำเนินการอยู่ภายใต้ความปลอดภัยของเซิร์ฟเวอร์ |
ตัวอย่างแอปเพล็ตกับเซิร์ฟเล็ต
AppletDemo.java
import java.applet.Applet; import java.awt.Graphics; public class AppletDemo extends Applet { // Overriding paint() method @Override public void paint(Graphics g){ g.drawString("AppletDemo", 20, 20); } }
ผลลัพธ์
AppletDemo
ตัวอย่าง
ServletDemo.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletDemo extends HttpServlet { private String message; public void init() throws ServletException{ // Do required initialization message = "Servlet Demo"; } public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(message); } }
ผลลัพธ์
Servlet Demo