Ich werde gebeten, an Portlets und Portalen zu arbeiten.
Ich möchte den Unterschied zwischen einem Portlet und einem Servlet kennen.
Wie / wo unterscheidet sich ein Portlet (möglicherweise funktional) von einem Servlet?
quelle
Ich werde gebeten, an Portlets und Portalen zu arbeiten.
Ich möchte den Unterschied zwischen einem Portlet und einem Servlet kennen.
Wie / wo unterscheidet sich ein Portlet (möglicherweise funktional) von einem Servlet?
Portlets sind Teil des JSR-168-Standards, der Portalcontainer und -komponenten regelt. Dies unterscheidet sich von den Standards für Webcontainer (und Servlets). Obwohl es definitiv starke Parallelen zwischen diesen beiden Standards gibt, unterscheiden sie sich in Containern, APIs, Lebenszyklus, Konfiguration, Bereitstellung usw.
Der Hauptunterschied zwischen Portlet und Servlet könnte darin bestehen, dass das Servlet zwar immer auf eine einzelne Art von Aktion reagiert - Anforderung , das Portlet (aufgrund der Art seines Lebenszyklus und der stärkeren Containerbindung) jedoch auf zwei Arten von Aktionen reagieren muss: Rendern und Anfordern . Es steckt natürlich noch mehr dahinter, aber ich fand dies als den Hauptunterschied zwischen den beiden, als ich die Portalentwicklung studierte.
Erweitert von Quelle : Servlets gegen Portlets
Bearbeiten (Aus Kommentaren)
Ein Portlet-Container basiert auf einem Servlet-Container. Letztendlich kann man also sagen, dass das Portlet auf einem Servlet-Container ausgeführt wird. Bei der Entwicklung von Apps wird jedoch ein Portlet-Container getrennt vom Servlet / Java EE-Container angezeigt.
quelle
Sowohl Portlets als auch Servlets empfangen eine http-Anfrage und geben eine Antwort zurück. Dies ist normalerweise HTML, das von einem Browser gerendert werden kann. Ein Portlet wird im Kontext eines "Portals" verwendet. Die Idee ist, dass eine einzelne Seite, die vom Benutzer gesehen wird, viele Teile enthält, Denkkacheln, die jeweils von einem anderen Portlet stammen.
Jetzt können Sie diesen "gekachelten" Effekt von normalen Servets erhalten (siehe Struts + Tiles für ein Beispiel, wie). Das zusätzliche Bit der Portlets besteht darin, dass sich die Portlets in einer vom Portal bereitgestellten umfangreicheren Umgebung befinden. Zusätzliche APIs werden bereitgestellt, damit Was von einem Portlet angezeigt wird, kann von einzelnen Benutzern nach ihren Wünschen konfiguriert werden, und die Porlets können miteinander kommunizieren - drücken Sie eine Taste in einer, etwas passiert in einer anderen.
quelle
Servlets haben eine Java-Definition (Anwendungen, die HTTP-GET / POST-Anforderungen verarbeiten), während Portlets eine Benutzeroberflächendefinition haben. Eine Komponente, die eine bestimmte Funktion ausführt, die den Windows Vista-Widgets ähnelt, oder viele Komponenten, die hier im Stackoverflow verwendet werden. Sie müssen nicht unbedingt von Servlets auf der Serverseite unterstützt werden. Der Portlet-Standard wurde jedoch zusammen mit Java entwickelt. O'Reilly hat ein schönes Tutorial .
quelle
Im Wesentlichen stellen Servlets Inhalte bereit, die normalerweise die gesamte Seite in einem Browser einnehmen (es sei denn, Sie verwenden Frames), und Portlets stellen Inhalte bereit, die von einem Fenster umschlossen werden. Mit Portlets können Sie mehrere Portlets nebeneinander haben und jedes kann Inhalte und Funktionen bereitstellen, die sich vom anderen unterscheiden. Ein Portlet kann die vollständige Interaktion für einen Anwendungstyp bereitstellen, während ein anderes Portlet Inhalt für einen anderen Anwendungstyp bereitstellen kann. Das Portal bietet einige Haushaltsfunktionen und einen sicheren Zugangspunkt zu allen Portlets auf einer Seite. Was die Einzelheiten (Ähnlichkeiten / Unterschiede) zwischen ihnen betrifft, lesen Sie bitte weiter. Hier sind einige Ähnlichkeiten:
quelle