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