ใน 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