Nâng cao từ Nguồn : Servlets Vs Portlets
Điểm tương đương
Servlet và Portlet là những thành phần dựa trên web tận dụng Java để triển khai chúng.
Những portlet được vận hành bởi một portlet container tựa như servlet được vận hành bởi servlet container.
Cả nội dung tĩnh và động đều hoàn toàn có thể được tạo bởi Portlet và Servlet.
Vòng đời của những portlet và servlet được kiểm soát bởi container
Quy mô máy khách / sever được tận dụng cho tất cả servlet và portlet
Việc đóng gói và triển khai về cơ phiên bản là giống nhau, WAR / EAR.
Phiên ứng dụng tồn tại trong cả vùng chứa Servlet và Portlet. Đó là một trong những cách share tài liệu (Tiếp xúc giữa những Portlet thô) từ thời đoạn kết xuất đến thời đoạn hành vi (hoặc ngẫu nhiên thời đoạn nào thấp hơn) trong những thùng chứa portlet.
Cả Servlet và Portlet đều tận dụng môi trường thiên nhiên sever / VM tương tự tương trợ nó. Tuy nhiên, một trong những thông số kỹ thuật bổ sung cập nhật hoàn toàn có thể quan trọng trong trường hợp những portlet để làm cho nó được lưu lại
Những dụng cụ xây dựng / DI tương tự cho tất cả hai – Ant, Maven, Gradle, v.v. đều được tương trợ. Thiết yếu là 🙂 – Điều này đã thay đổi một ít với Liferay 7.
Sự khác lạ
Servlet hoàn toàn có thể hiển thị những website hoàn hảo, trong những lúc những portlet hiển thị những đoạn html. Những đoạn này được cổng thông tin tổng hợp lại thành một website hoàn hảo.
Loại nội dung của những portlet JSR 168 chỉ hoàn toàn có thể là cHTML, XHTML, WML. Nó không tương trợ những loại nội dung khác.
Những portlet không được phép tạo mã HTML có chứa những thẻ như body toàn thân, frame, frameset, head, html hoặc title.
Một Portlet không tựa như một servlet không hề có URL nối sát với nó nên nó không thể được truy vấn trực tiếp. Truy vấn chỉ trải qua trang cổng thông tin chứa portlet.
Những portlet hoàn toàn có thể được hỗ trợ những điều khiển và tinh chỉnh để thao tác những trạng thái hành lang cửa số hoặc chính sách portlet của nó.
Nhiều phiên phiên bản của một portlet hoàn toàn có thể được đặt trên cùng một trang.
Những portlet tương trợ thông số kỹ thuật và tùy chỉnh liên tục, thông tin hồ sơ.
Những portlet hoàn toàn có thể có hai loại yêu cầu viz. kết xuất yêu cầu và yêu cầu hành vi.
Portlet có hai phạm vi trong phiên; phạm vi ứng dụng để tiếp xúc giữa những portlet và phạm vi portlet để tiếp xúc nội bộ portlet.
Portlet không thể đặt mã hóa bộ ký tự của phản hồi cũng như không thể đặt tiêu đề phản hồi HTTP.
Những portlet không hề có quyền truy vấn để yêu cầu URL. Vì vậy, nó không thể truy vấn những thông số truy vấn được thêm vào URL. Những portlet không thể đặt cookie.
Phương pháp tiêu biểu của Portlet API là doView(), doEdit(), doHelp()và processAction()trong những lúc những người dân của servlet là service(), doPost(), doGet().
Thông số kỹ thuật 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 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 những Portlet liên quan đến cách tiếp cận khác với ứng dụng Servlet. Một số trong những Nhà hỗ trợ (Liferay / Alfresco / WebSphere) tương trợ triển khai nóng những portlet mà không luôn phải phát động lại sever, điều này sẽ không thể triển khai được trong trường hợp những servlet không mô-đun hóa ứng dụng bằng những thư viện đặc trưng như OSGi.
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, sau cuối có thể nói rằng rằng portlet chạy trên Servlet Container. Nhưng trong những lúc phát triển ứng dụng, công ty chúng tôi xem một vùng chứa portlet riêng lẻ với vùng chứa Servlet / Java EE.