Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Khác biệt giữa Applet và Servlet trong Java

Bảng so sánh

Tiêu chíAppletServlet
Môi trường thực thiClient-side (trình duyệt web)Server-side (web container/server)
Gói chajava.applet.*, java.awt.*javax.servlet.*, javax.servlet.http.*
Vòng đời phương thứcinit(), start(), paint(), stop(), destroy()init(), service(), destroy()
Giao diện người dùngCần AWT/SwingKhông cần UI (xử lý request/response)
Băng thôngLớn (tải code/applet về client)Nhỏ (chỉ truyền dữ liệu)
Bảo mậtRủi ro cao (chạy trên máy client)An toàn hơn (chạy dưới security manager server)
Trạng thái hiện tạiĐã deprecated (Java 9), bị loại bỏ (Java 11+)Vẫn phổ biến, chuẩn Jakarta EE

Ví dụ Applet (chỉ mang tính lịch sử)

import java.applet.Applet;
import java.awt.Graphics;

public class AppletDemo extends Applet {
    @Override
    public void paint(Graphics g) {
        g.drawString("AppletDemo", 20, 20);
    }
}

Ví dụ Servlet (HttpServlet)

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ServletDemo extends HttpServlet {
    private String message;

    @Override
    public void init() throws ServletException {
        message = "Servlet Demo";
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        resp.setContentType("text/html");
        PrintWriter out = resp.getWriter();
        out.println(message);
    }
}

Lưu ý: Applet đã lỗi thời, không nên dùng cho dự án mới. Thay thế bằng JavaScript/HTML5 hoặc Java Web Start (cũng đã deprecated). Servlet là nền tảng của các framework web hiện đại (Spring MVC, Jakarta Faces, v.v.).