Nâng cao từ Nguồn : So sánh Servlet và Portlet
Điểm tương đồng
Bạn đang xem: Sự khác biệt giữa portlet và servlet là gì?
Servlet và Portlet đều là các thành phần dựa trên web sử dụng ngôn ngữ lập trình Java để triển khai chúng.
Cả portlet và servlet đều được quản lý bởi một container, với servlet sử dụng servlet container và portlet sử dụng portlet container.
Cả portlet và servlet đều có khả năng tạo nội dung tĩnh và động.
Vòng đời của cả portlet và servlet được kiểm soát bởi container.
Cả servlet và portlet sử dụng mô hình máy khách / máy chủ.
Việc đóng gói và triển khai của cả servlet và portlet là tương tự nhau sử dụng file WAR / EAR.
Phiên ứng dụng tồn tại trong cả vùng chứa servlet và portlet và có thể được sử dụng để chia sẻ dữ liệu giữa các portlet trong giai đoạn kết xuất đến giai đoạn hành động.
Xem thêm : Khám phụ khoa bằng mỏ vịt có đau không?
Cả servlet và portlet đều sử dụng môi trường máy chủ / VM tương tự hỗ trợ nó.
Cả servlet và portlet được hỗ trợ bởi các công cụ xây dựng / DI như Ant, Maven, Gradle, v.v.
Sự khác biệt
Servlet có thể hiển thị các trang web hoàn chỉnh, trong khi portlet chỉ hiển thị các đoạn mã HTML và được tổng hợp lại trong một trang web hoàn chỉnh thông qua cổng thông tin.
Portlet chỉ hỗ trợ loại nội dung như cHTML, XHTML, WML và không hỗ trợ các loại nội dung khác.
Các portlet không được phép tạo mã HTML chứa các thẻ như body, frame, frameset, head, html hoặc title.
Portlet không có URL gắn liền và chỉ có thể truy cập thông qua trang cổng thông tin chứa portlet.
Portlet có thể có các điều khiển để thao tác trạng thái cửa sổ hoặc chế độ portlet.
Bạn có thể đặt nhiều phiên bản của một portlet trên cùng một trang.
Xem thêm : Tactic là gì? Phân biệt giữa tactic và strategy
Các portlet hỗ trợ cấu hình và tùy chỉnh thông tin hồ sơ.
Portlet có thể có hai loại yêu cầu là yêu cầu kết xuất và yêu cầu hành động.
Portlet có hai phạm vi là phạm vi ứng dụng và phạm vi portlet để giao tiếp với các portlet khác hoặc giao tiếp nội bộ trong cùng một portlet.
Portlet không thể đặt mã hóa bộ ký tự phản hồi cũng như không thể đặt tiêu đề phản hồi HTTP.
Các portlet không có quyền truy cập vào URL và không thể truy cập các tham số truy vấn hoặc đặt cookie.
Phương pháp điển hình của Portlet API là doView(), doEdit(), doHelp() và processAction(). Trong khi đó, phương pháp điển hình của servlet là service(), doPost(), doGet().
Thông số kỹ thuật của Servlet – JSR 369 (Servlet 4.0), JSR 340 (Servlet 3.1), JSR 315 (Servlet 3.0), JSR 154 (Servlet 2.5 & 2.4). Thông số kỹ thuật của Portlet – JSR 168 (Portlet Spec v1.0), JSR 286 (Portlet Spec v2.0), JSR 362 (Portlet Spec v3.0).
Việc triển khai portlet có cách tiếp cận khác với triển khai ứng dụng servlet, với một số nhà cung cấp hỗ trợ triển khai nóng của portlet mà không cần khởi động lại máy chủ. Điều này không thể thực hiện được với servlet nếu không sử dụng OSGi hoặc các thư viện đặc biệt.
Chỉnh sửa (Từ nhận xét)
Một thùng chứa portlet được xây dựng trên một thùng chứa servlet. Vì vậy, chúng ta có thể nói rằng portlet chạy trên một servlet container. Tuy nhiên, trong quá trình phát triển ứng dụng, chúng tôi thường xem vùng chứa portlet và vùng chứa servlet / Java EE là riêng biệt.